🎄Why backend developers need to learn some frontend🌟

Dec 9, 2023

Back to 2023 Advent Calendar

Backend developers refuse to learn frontend

There seem to be a stigma around frontend development in a backend developer world. They either think it is too hard or too boring and easy.

To be fair it's very confusing with all the frameworks and libraries that are out there. JS frameworks are changing every year and it's hard to keep up. CSS is a mess and it's hard to understand how it works. HTML is easy but it's not a programming language so it's not fun.

Reasons to learn frontend

Here are a few reasons why backend developers should learn some frontend.

1. It's fun.

Frontend is fun. It's fun to see your code come to life. Unlike backend where you might have to build, deploy, test and then see the result. And even result you see is just some protobuf or json response.

With frontend, it takes a few seconds to see the result of your work.

TIP: try to make a smallest change to one of the frontend projects your team might have. Add a button or change a color.

2. It helps your backend projects.

When you know frontend, you can build better backend projects. For example, you can build management console for your backend project. Or you can build a simple frontend for your backend project to test it.

When you Demo your backend project, and show a UI for it, it makes completely different impression.

3. It helps you understand your frontend team.

When you know frontend, you can understand your frontend team better.

4. It helps you to learn different way of thinking and new patterns.

Many frontend frameworks and libraries have different ways of thinking. for example, with redux you have to think in terms of reducers and actions. With react you have to think in terms of components. With vue you have to think in terms of templates. etc.

Tips to make it easier to learn frontend

Here are a few tips to make it easier to learn frontend.

1. Pick a framework and stick with it

Pick the most popular framework and stick with it. Preferable something that is around for long time and not going away. e.g React with NextJS or Vue with NuxtJS. You don't want to pick something tha just became popular and might go away in a year or two. You can't go wrong with classic React or Vue.

2. Pick UI component library.

Pick a UI component library and stick with it. CSS is it's own beast and it's hard to learn. So pick a UI component library that has all the components you need. Examples would be MaterialUI, Bootstrap, or Mantine.

3. Pick hosting that handles everything for you.

e.g Vercel or Netlify or Azure Static Web Apps. You don't know how it's build, or where it's hosted. it's just doing Github Actions and gets deployed.