Front-end development has evolved a lot over the years.
In the earlier days of the web you only really had to understand HTML and CSS to be a hireable front-end developer. Then we started adding more and more JavaScript as we pushed the boundaries of what’s possible - to the point where we can now build highly interactive web applications, 3D experiences or full-on games that run directly in the browser.
And as the possibilities have increased, so have the requirements for what constitutes a modern front-end developer. Nowadays you’ll be hard pressed to find a job if you only know HTML and CSS. Not because they are any less important today (I’d argue they’re even more important to understand), but because we’re simply creating more complicated websites now. And because user expectations has risen along the way, to the point where it’s difficult to build a respectable modern web application without using some sort of JavaScript framework to help create rich interactions and manage data flows.
So now we’re moving down the JS framework path, that also increases the focus on making good architectural coding decisions. Because as we’re moving more logic and functionality to the front-end (aka: more code), that again raises the importance of building a scaleable foundation with readable code that’s easy to extend and modify in the future. So now we’ve gone from needing to know a bit of HTML and CSS, to having at least some understanding of:
HTML / CSS (including accessibility)
JavaScript / DOM manipulation
Modern JS frameworks like React or Vue
Metaframeworks like Next or Nuxt
Scaleable programming patterns and architecture
And that’s just scratching the surface. Then comes along tools like Git, the command line, how browsers work, JS on the server with NodeJS, animations, basic design knowledge, TypeScript, CSS frameworks, data fetching… you get the idea.
The point is: modern front-end development is awesome because there’s so much you can do. There’s so many cool things you can build when you dive into all of the above and start to work with these tools.
But these opportunities also come at a cost of increased complexity and a higher learning curve - especially if your goal is to get a front-end job as soon as possible.
So, why am I bringing this up?
Mostly because I think it’s important to reflect on the modern front-end ecosystem: What’s good, how we got here, and what could be better? And also because I don’t want anyone getting fooled into thinking front-end development is easy. There’s just as much complexity here as in other programming fields, even if it doesn’t seem that way at first.
Hopefully that excites you - because it means there’s always something new to learn and improve on. And if you’re keen to read more, Front End Masters just published their official Front End Developer Handbook for 2024, which dives deep into the tasks, titles and tools of the modern front-end developer - including all the different focus areas you might specialize in, career advice and a (very) long list of technologies or concepts you’ll probably run into when working as a front-end developer. I highly recommend giving it a read if you’re currently working as a front-end dev or you’re in the process of becoming one:
Right On!
@Mads Brodt need to know about the promise handler in adobe/ react-saga-promise