Most places I've been, FrontEnd was perceived as a place for more junior developers. "We'd rather they mess up something visually than corrupt the data" was the reasoning at the time.
Note that I'm not saying I agree with the sentiment!
Backend almost always get's more respect and pay. There is simply a much greater depth and breadth of knowledge required, business processes, databases, queues, concurrency, security, deployments, the list goes on and more often than not includes a fair share of front end knowledge as well.
IME when you need someone to analyze user requirements and build an efficient UI it falls to the backend guys as well, because sorting out requirements is also part of our job. More often than not the front end devs I've worked with have been focused on making things pretty, making sure all the fonts match and the colors look nice rather than focus on true usability, often this is all they're empowered to do, they industry (sadly) makes little distinction between UX and UI.
Of course these are gross generalizations and I've seen exceptions to all the above points.
From my perspective pay has trended marginally higher for backend developers and technical respect is usually also marginally higher for backend work.
However I feel that front end developer has a clear advantage in that their work can be played with, viewed and commented on by non technical managers and product owners. Also other external praise is usually along the lines of 'this looks great', 'the ui is so smooth' than direct praise of what for the most part is unseen backend work.
Many backend quality improvements for products can be deployed without a product owner ever realising yet a front end and crucially visual change is obvious. The product owner can go play with the new slick drop down menu, they however can't go and easily play with the additional resiliency that you've added to the internal message infrastructure for example.
Like you mentioned though these are generalisations and I too have seen exceptions :)
> However I feel that front end developer has a clear advantage in that their work can be played with, viewed and commented on by non technical managers and product owners.
The downside of this is that you get a lot more "can you add this or change that? Should be easy :-)". Non-technical folks think that because they can see frontend work they know more about it.
Maybe I've had bad experiences but I consider the fact that the backend's work can't be easily seen by the business people an advantage.
in my previous companies, backend got much more respect and i believe rightfully so. think of the hardest back end problem: its Google scale requiring lots of PhDs to tackle it.
now think of the hardest front end problem. most likely its not even close.
While I can appreciate your perspective, there are plenty of hard problems on the frontend. Many of them might fall outside the confines of the label frontend (into graphics programming or linear algebra), just like Google scale falls well outside what I'd call backend if we're sticking to a simple dichotomy.
Here are a few harder problems that I can think of:
- Draw a non-linear gradient along an arc with SVG
- Implement a constraint solver in JS
- Convert a CgBI image into a standard PNG with the browser File API
A good portion of the work I do on the frontend is transforming and composing data, and wrangling that data together from a multitude of different services. This honestly isn't that different from the work that I've done on the backend of the stack.
I'm not trying to discount how hard problems can be when they're distributed, just trying to point out that you can do interesting things in both domains.
8 comments
[ 5.8 ms ] story [ 26.4 ms ] threadNote that I'm not saying I agree with the sentiment!
IME when you need someone to analyze user requirements and build an efficient UI it falls to the backend guys as well, because sorting out requirements is also part of our job. More often than not the front end devs I've worked with have been focused on making things pretty, making sure all the fonts match and the colors look nice rather than focus on true usability, often this is all they're empowered to do, they industry (sadly) makes little distinction between UX and UI.
Of course these are gross generalizations and I've seen exceptions to all the above points.
However I feel that front end developer has a clear advantage in that their work can be played with, viewed and commented on by non technical managers and product owners. Also other external praise is usually along the lines of 'this looks great', 'the ui is so smooth' than direct praise of what for the most part is unseen backend work.
Many backend quality improvements for products can be deployed without a product owner ever realising yet a front end and crucially visual change is obvious. The product owner can go play with the new slick drop down menu, they however can't go and easily play with the additional resiliency that you've added to the internal message infrastructure for example.
Like you mentioned though these are generalisations and I too have seen exceptions :)
The downside of this is that you get a lot more "can you add this or change that? Should be easy :-)". Non-technical folks think that because they can see frontend work they know more about it.
Maybe I've had bad experiences but I consider the fact that the backend's work can't be easily seen by the business people an advantage.
I think though the backend really suffers in the sense that is not seen and not heard unless there is an emergency in many cases.
now think of the hardest front end problem. most likely its not even close.
Here are a few harder problems that I can think of:
- Draw a non-linear gradient along an arc with SVG
- Implement a constraint solver in JS
- Convert a CgBI image into a standard PNG with the browser File API
A good portion of the work I do on the frontend is transforming and composing data, and wrangling that data together from a multitude of different services. This honestly isn't that different from the work that I've done on the backend of the stack.
I'm not trying to discount how hard problems can be when they're distributed, just trying to point out that you can do interesting things in both domains.
Choosing a framework and sticking with it w/o re-writing in 1 year.