What is a Front-end Developer anyway?
- Saturday, September 26th 2020
- 4 minutes read
That big that it's everywhere. A front-end developer utilizing a stack of
During my career, I was expected to build apps with
Webpack, and then go build websites with responsive typography and smooth animations. Release
React Native apps, and then spin off landing pages with accessible and semantic markup.
I struggled a lot, feeling that I can’t keep up. The more I focused on the “back-end” of the front-end, the more I felt out of touch with CSS. The more I wanted to master app architecture & performance optimization, the more I distanced myself from creating kick-ass animations.
I felt that I was the one at fault until I realized that it’s impossible to cover everything. We are shoe-horning many aspects of web development into a single job title, that's it's impossible to ever feel that you master front-end.
Client-side !== Front-end
We mistakenly label anything that runs in the browser (client-side) as "Front-end". Some years ago, that would be true, as the code in the browser would only:
- Account for how the page looks & feels
- Handle the user interactions
But technology evolves and we rightly demand more from our applications. Eventually, we delegated part of our business logic that would traditionally live in the "Back-end" (server-side), to browser-code.
We started introducing state-management libraries (
Zustand), solutions to optimize the data flow (
React-Query), and got creative with our CSS (
Docker to the mix too. The front-end tool-chain got quite big.
This meant that the modern front-end developer should also be skilled in data structures, algorithms, and scalable architecture. Oh and functional programming.
- Junior developers have no idea where to start. We expect too much.
- Accessibility becomes an afterthought if considered at all.
- Excellent professionals feel impostor syndrome due to the overwhelming context.
This became more apparent to me while reviewing candidate assignments. People know React and can reason about the state management options, but fail hard in CSS. Algorithmic skills matter more than proper templating.
Quoting from The Great Divide:
Two “front-end web developers” can be standing right next to each other and have little, if any, skill sets in common. That’s downright bizarre to me for a job title so specific and ubiquitous. I’m sure that’s already the case with a job title like designer, but front-end web developer is a niche within a niche already.
That "good enough" is almost always bad. Before no-code takes all of our jobs, let's stop the gatekeeping, and accept that the mythical Front-end developer ninja died a long time ago.