I see that we're debating the value of "front-end development" again.
Building user interfaces, on any platform, is hard work! Doing it well requires specialization.
Undervaluing these skills results in frustrating experiences, poor performance, and a lack of accessibility.
Building user interfaces, on any platform, is hard work! Doing it well requires specialization.
Undervaluing these skills results in frustrating experiences, poor performance, and a lack of accessibility.
I certainly recognize and appreciate that not all companies are in a position where they can *afford* specialization.
Just because you *can* build complete end-to-end experience without specialists, doesn't mean there's no value in specialization. It means you chose trade offs.
Just because you *can* build complete end-to-end experience without specialists, doesn't mean there's no value in specialization. It means you chose trade offs.
At a point in the evolution of most products, you're going to want folks who can significantly tune the experience at every layer of the stack:
* Optimizing server-side code for cost and scale
* Managing infrastructure for scale, cost, and security
* Building the best UIs
* Optimizing server-side code for cost and scale
* Managing infrastructure for scale, cost, and security
* Building the best UIs
When you reach this point, you're going to want folks who are specialists in that, specific, part of the stack.
For most products, a user interface/ front-end is where customers experience your product.
When you reach this point, you'll be happy for front-end specialists.
For most products, a user interface/ front-end is where customers experience your product.
When you reach this point, you'll be happy for front-end specialists.
All of this being said, I will offer some advice to front-end developers based solely on my own experience:
It's best to specialize late. Or, if you start with front-end, eventually you'll also want to develop breadth.
It's best to specialize late. Or, if you start with front-end, eventually you'll also want to develop breadth.
This doesn't mean that you should evolve from a front-end specialist to a full-stack developer.
What it means is that you'll need to understand how your slice of the stack interacts with all of the others.
Being able to effectively collaborate across layers is so important!
What it means is that you'll need to understand how your slice of the stack interacts with all of the others.
Being able to effectively collaborate across layers is so important!
One more thought to add here: In some contexts, being a "front-end developer" isn't even enough specialization!
@slightlylate articulates this point better than I can: https://twitter.com/slightlylate/status/1341854878428057601?s=20
@slightlylate articulates this point better than I can: https://twitter.com/slightlylate/status/1341854878428057601?s=20
The point is, no matter what your title is - you are valuable and you add value.
You might be a front-end generalist. You might be a A11Y specialist. You might be a framework developer.
In any case, I appreciate you and I'm glad you're here!
You might be a front-end generalist. You might be a A11Y specialist. You might be a framework developer.
In any case, I appreciate you and I'm glad you're here!