This article is the result of the experience I have gained performing consulting and observing the attitude of many developers.
You can read the original article in portuguese on Medium.
Since the goal of the article is not to address any technical point, I chose to generalize the terms: front-end and back-end.
Exactly a 2 years ago I entered the world of development and my eyes sparkled with anything that could produce or learn (perhaps because it is very new, was only 16). Were a CSS file or a functionality using C # or PHP. Time passed and I discovered that web developers are divided by their specializations: front-end and back-end.
Studying a lot about which way to go, just deciding to follow the front-end side. There was just one problem: I also loved learning about the back end. And now? Then continued working as a front-end, but worked as a freelancer on projects more focused on server-side to learn more.
After a few months, finally realized that he really liked was to develop, whether a web page or an application for command line. But it bothered me when my colleagues asked me my specialty. Really did not know how to respond.
Either way life goes, and started working on videolog as back-end. I met many developers, learned a lot. And there decobri few back-end, know good client-side practices. Soon every effort made to leave the beautiful and fast code on the server-side of no use, since the app was carrying numerous heavy libraries in the client, applied many requests and really could not dream of a good performance.
The final product was always the same, back-end developers working in client-side produced a final product: with low performance or something very simple to design and UX.
Life went again and I ended up returning to the front end. Also do not take long to realize my new co-workers, now front-end, did not know or understand the minimum back-end, so the product will not quit completely. Had always points to be desired.
I do not say that all back-end developer must specialize in front. Or backwards. It is important to divide tasks according to the specialties of the developer. But I think to know the minimum of each area is essential. The same person who creates a script in python, should know at least the basics of html and css. Like all front ends should meet the minimum about shell script.
“Never place a filter in the pursuit of knowledge”
Nobody wants to be locked in any task, because the other development team delayed their part, right? Knowing least you can support the other team or maybe even mock their part and move on.
Search being and thinking as a developer in general, not just as a front-end or back-end.