Is front-end development dying?
Front-end development is dying. Web development is dead. Web design is a dying career. Have scare stories like these got you thinking about whether your dream career really has a future?
I'm an industry developer, and I've been working with JavaScript and UIs since I learned to code back in 2013. So, from an insider's experience of the job market, plus external research, I'll show you why you can (mostly) stop worrying.
In 2023, Indeed lists 6000+ job openings for front-end developers. Google shows steady and consistent interest in the search term over the past 5 years. And the growing technical needs of many industries indicate that front-end development is still very much in demand. What has changed is the role of the front-end developer.
What is front-end development?
Front-end web development is the practice of converting data to a graphical interface, through the use of HTML, CSS, and JavaScript, so that users can view and interact with that data.
Front-end developers might build websites or web applications, or focus on mobile web development. It's a broad role, combining elements of both design and programming.
They work in a wide range of settings. They might be part of a team at a large company, developing the user interface for one specific product. Or at a startup, where they might be the only front-end developer. Or they could work for an agency, building websites for different clients on a project-by-project basis. Some do similar work for clients, but instead on a freelance basis.
Interest in the field rose along with the growth of the present-day tech industry in the early 2010s, and has been steady for the past 5 years:
This suggests that—as a discipline—front-end development is far from dying, and job prospects for those hoping to get into the field still look strong.
So why do some people fear otherwise?
Front-end development has evolved
If you were to compare the day-to-day work of a front-end developer today with that of one 10 years ago, you might not believe the two roles ever had the same job title.
Let's start with the similarities:
- They build user interfaces for websites
- The core technologies of their work are HTML, CSS and JavaScript
And the differences:
- ...basically everything else
Technology moves fast. And for the world of front-end development, notoriously so. Many new technologies, libraries, languages and frameworks have been built on top of the core technologies, to provide new and more efficient ways of working with them.
So what does this mean?
Front-end development is now more complex
Ten years ago, to qualify as a front-end developer, you would have needed to know HTML, CSS and maybe some jQuery to add a few animations or simple interactions to your web pages.
You may also have worked with WordPress, and possibly known a small amount of PHP. Though technically a back-end language (because it runs on the server), it has also been popular among front-end developers building web pages due to its templating capabilities, and for being relatively readable and easy to learn.
Today, the trends in front-end development have moved firmly in the direction of the JavaScript framework.
JavaScript is now not only used for adding small amounts of interaction to web pages, but instead to construct the entire web page. Developers rarely write raw HTML and CSS anymore. Instead, they write JavaScript to generate the HTML (and inject CSS styles), with the help of a JavaScript framework designed for this purpose.
You might also like: Can you get a job with just JavaScript?
Why did front-end development change?
Essentially, front-end development changed because web front ends started being used as a way for users to interact with products. People don't just want simple websites anymore. They want applications, with maps and dashboards and chat interfaces and video calls—all of which need near-real-time updates.
This kind of advanced functionality just isn't possible to achieve with the basic core technologies, at least not in a way that is clean, maintainable, and standardized enough that new developers can get to work on a project in a reasonable time frame.
How did front-end development change?
The growing complexity of front-end development has produced a sort of division within the field; you can now find people with the same job title, but vastly different focuses and skill sets.
The two types of front-end developer
The first type of front-end developer is more or less the modern version of the original role (but it is still more complex than it used to be).
They focus on:
- coding the visual (or presentational) components of a user interface
- writing CSS and defining the architecture for it (possibly using a preprocessor like Sass)
- making sure interactions and animations work smoothly
- keeping markup in line with accessibility standards
Today, they also likely need to understand a JavaScript framework, and the modern tooling of a front-end development workflow.
The second type of front-end developer is responsible for the client-side logic of a web application, using JavaScript or TypeScript, and probably a framework like React or Vue.
Their role involves:
- managing state
- fetching data from APIs and processing the data ready for display
- defining JavaScript architecture
- unit testing
- performance
Ten years ago, much of this would have been done by back-end developers, as most of the application logic was handled on the server.
You might be thinking that these two distinct skill sets would be a lot for one person to stay up to date with. And while some front-end developers do work on everything—particularly in small companies—both skill sets don't both necessarily appeal to everyone.
So front-end developers often find themselves gravitating more towards one side than the other.
Some companies now make this distinction in job titles, by referring to the latter type of developer as 'Front-End Engineer' or something like 'Software Engineer, Front End'. If you see a job description for either of these titles, it's likely that you're looking at a much more programming-heavy, JavaScript-focused role.
What's the future of front-end development?
As we can see by looking at the field over the past 10 years, front-end development broadens and takes on new forms as emerging technology trends require it to. We can expect similar evolution to continue into the future. My prediction is this:
Front-end development will continue to be about developing user interfaces—but they won't necessarily be graphical.
Technology is becoming integrated into our lives through more mediums than just screens. We've already seen one huge shift from desktop to mobile, and now we're seeing others in the form of wearables, VR, and voice-operated tech like Amazon Alexa or Google Home.
If we become less screen-oriented in general, surely this means there will be less demand for front-end developers? There are even memes about this.
The way I think about it is that the currently emerging forms of technology might not have graphical user interfaces, but they still have interaction points for their users. They still need developers to figure out how to make the user experience smooth, intuitive and accessible.
So, maybe front-end developers won't be writing code for web browsers, and will be called UX Engineers in 10 years' time—but the discipline is definitely not dying any time soon.