Can you survive being a pure backend or frontend developer?

Backend? Frontend? Some Full-Stack?

Knowing the differences between a backend and a frontend developer is just a theory, but the practice is usually different. When facing a real task in a website project there will be many times that will require you to have knowledge on backend and frontend. You do not need to have a deep knowledge on both areas, but you need enough.

Let’s say you are working on a project that uses Ruby on Rails. You are in charge of the frontend, working mainly with CSS and Javascript, maybe using a JS framework. But you are in a team of developers that work together, and that means to adhere to a lot of conventions and rules so the work is always organized. You cannot simply write your HTML code in a template with lots of conditionals, because over the time that would become unusable when more conditions need to be met. You could extract that into a partial, so you now need to read about that topic in the Rails guides. But then a teammate reviews your code and suggests to use a decorator. What’s that? Go ahead and search for tutorials, that would lead you to more backend topics about the framework used in the project.

After some time, you have spent more time reading about backend topics than actually implementing the feature. And this can be applied to backend developers too.

Web developers should be ready to learn whenever is needed, adapting to the needs of the project. So you cannot say “sorry but I know nothing about that”, but “ok, I will work on it” and go ahead learning while you work on the feature.

Imagine a product page. That page is being loaded in a classic way, with or without Turbolinks. But business needs it converted to Ajax and display a loading image, and after it’s done, update some part in the page. Is it worth calling a backend developer and work together on it? It depends on the current workload, but even if that developer is free, everyone would expect you to learn about the backend framework so you can implement the remote link, save the JS code where it belongs, and so on. And yes, by yourself. Or course you can ask questions, and you should be encouraged to do so, but the general idea is to be independent. This is specially important if you work remotely.

What I think (and my every day experience shows to me) is that a pure backend and frontend developer does not exist. A Ruby developer working on a Rails project must know about HTML, CSS and Javascript. In fact the Rails guides teaches many related concepts. Plus, if the project uses, say React for example, you have to learn about it. At least where things go and know about how everything works.

You definitely need to adapt.