Front-end development has had an interesting evolution. In the “olden” days, we were known as “web designers.” We would take pixel-perfect Photoshop files from designers and convert them into functioning HTML, CSS, and the occasional bits of JavaScript. From there, a backend developer would hook up the front-end to dynamic, server-side data to create a fully functional application.
Today, we live in a different world. We’re building highly reusable, responsive elements that dynamically pull in data via endpoints from server-side applications to create a seamless experience on the client. Technologies like React, Angular, Backbone, Ember, Express, Node, Meteor, and several others provide a wide assortment of methods and approaches to building these experiences; and new technologies are being added every day.
Who is today’s front-end developer?
A front-end developer is a pendulum swinging between design and backend development worlds. We take designs from a designer, make it functional, and then make sure it fits with what a backend developer needs. We’re required to have an eye for design just as much as a knack for speaking backend technologies and problems.
But what about specialties?
There are most certainly specialties forming within front-end development. Here’s how I see it.
Front-end Designer
Someone who can take a design, “slice” it up, and convert it into functioning HTML, CSS, and JavaScript. This harks back to the “web designer” term.
A Front-end Designer might have specialties in:
- HTML authoring and semantics
- CSS architecture
- Animation
- Accessibility
- Performance
Front-end Developer
Someone who can perform the duties of a Front-end Designer, but can also more fluidly fit the design into the backend system. This is the pendulum developer who also has Front-end Engineer skills (see below).
A Front-end Developer might have specialties in:
- HTML authoring and semantics
- CSS architecture
- Animation
- Accessibility
- Performance
- Interaction JavaScript (jQuery and such)
- JavaScript architecture
Front-end Engineer
Someone who focuses primarily on JavaScript, particularly with heavy client-side applications using frameworks, such as Angular, Ember, React, Backbone, etc.
A Front-end Engineer might have specialties in:
- Performance
- JavaScript architecture
- MVC methodology
- Data architecture
- Server-side language(s)
Is this change reflected in the industry?
If you look at the latest job postings, this will be apparent. You’ll see a wide array of definitions for “front-end developer” jobs around the world.
But what does it all mean?
Nothing, really. As a front-end developer with a background in both design and programming, I love it. Front-end development is a true passion for me because I get to flex both sides of my brain. Our skill set, and the requirements for our job, are growing. And, with that, we are too. There is a bright future ahead of us, and I’m looking forward to the front-end specialization continuing its growth.