How to be a modern front-end dev?

As a front-end developer in 2023, you need to become both more specialized and more generalist at the same time.

Previously (circa 2005-2010) there was no front-back division and web developers usually also knew how to write HTML, CSS or write simple scripts in JavaScript, often paired with jQuery library.

Then (I think it was about 2010?) front-dev development emerged as separated discipline. Front-dev devs became more and more isolated from backend. In following years front-dev and its ecosystem expanded. JavaScript evolved into quite modern and expressive language. New libraries was created like Angulars(1.* and 2+), React, Vue. More and more complex commercial applications would be created by companies. Job market was booming.

But because there was more and more competition between companies, modern practices of product development also had to be put in place, because companies needed their products to be more competitive and user-friendly. So there were new roles in teams like UX/UI designers, researchers... Front-end developers had to learn how to cooperate with them. Because apps got bigger, there was also more need for testing. Front-end devs started to write unit or e2e tests.

There were also more need for back-end integration. Full-stack role emerged. First as exception to the rule. Full-stack was somebody that had to make back-end and front-end at the same time. They often were at first just back-end developers which knew how to make components in Angular and not much more. But time passed and Node.js back-ends got more popular (and also new full-stack frameworks like Next.js) rose. This caused much more overlap between "JavaScript developer" and "back-end developer". Front-end got integrated with Node.js. And now basic back-end skills are very often required by employers. If you know only front-end, job market is not very good right now (at least in Poland. This can depends on country you're living in).

So. To summary - front-end development went long way from being integral part of web development, through being separate specialty, till to be integrated again.

That means if you want to be a good front-end developer in 2023/2024 it's not sufficient to be know just HTML/CSS/JS:

  • Don't be scared on back-end. On the very basis, you should know how to get around in Node.js, write something in Express or other backend framework (Fastify, Nest, or even writing server side components or API in Next.js). On the deeper level, it's useful to learn databases, containers (Docker, Kubernetes), at least one cloud provider. You don't need to be an expert!
  • As a good front-dev developer you should know how to write tests (unit, e2e). Mocha, Jest, Testing Library, Cypress, Playwright...
  • It's not sufficient to just know how to write components in React (or other similar library). You should also think more strategically about architecture, maintenance. It's good to balance practical experience with bigger projects with some kind of theoretical basis (too much theory and not enough practice can cause cargo cult and overengineering but lot of practice and not enough theory can be non optimal and cause constant reinventing the wheel instead of reading and implementing proven practices)
  • Learn about user experience (UX), product thinking, product management etc. You should know how to think more like researcher and not only like an implementor.
  • Knowledge about performance and optimization is also useful because front-end apps can be quite complex and sometimes there are bottlenecks in performance you need to address.
  • Learning how to configure CI/CD pipelines can also be useful. Automatization is very important in modern dev process.

List can be scary but don't be afraid. They are not requirements for entry level devs! The point is to be good front-end developer (and be able to assume full-stack developer role if needed). Things above are often demanded by employers but also are good practices and can broad your perspective.

Comments

Popular posts from this blog

JavaScript landscape, job market and what next