Defining what a front-end developer is and what they do is tough as it is. So, how do we set the bar for what makes for a good front-end developer?
Here’s what a few folks have to say on the topic.
I’ll argue that front-end developers need to master four different skills.
Front-End Developers, having learnt HTML, CSS and JS, are forced to take functionality into account when creating user experiences or making sure that the two disciplines work as one from a development perspective. They become all-rounders, having to understand what is actually happening between the AJAX data and the PHP file that’s sending off a mail or returning errors.
In my opinion, what defines a good front-end developer is one that has skilled knowledge of HTML, CSS, JS with a vast understanding of User design thinking as they’ll be building web interfaces with accessibility in mind. They should also be excited to learn, as the world of Front-End Development keeps evolving. The ability to stay in the loop is critical.
After I started to feel more comfortable with my responsibilities … I soon found my next challenge: to help build a stronger connection between the design and development teams. Though we regularly collaborated to produce high-quality work, these teams didn’t always speak the same language.
I think that front-end developers need to have a holistic view of the architecture of the software that they and their team are creating. They can’t silo themselves on the Front-End, but need to have an appreciation for the complexities of the Back-End as well in order to create the best user experience for their customers. In the end, it’s about continual learning and team communication, as well as listening to the customer to create a great experience.
The longer I work on the web, the more I realize that what separates the good people from the really good people isn’t what they know; it’s how they think. Obviously knowledge is important—critical in some cases—but in a field that changes so quickly, how you go about acquiring that knowledge is always going to be more important (at least in the long term) than what you know at any given time. And perhaps most important of all: how you use that knowledge to solve everyday problems.
Having a working understanding of HTML, CSS and JS is certainly a no-brainer, but it’s only one part of the equation. I believe a good front-ender connects the dots between user experiences and business goals while closing any gaps that would prevent holistic user flows. That requires good communication, creative problem solving, empathy and, perhaps above all, an willingness to listen to and accept criticism.
It’s a difficult question in some ways because the nature of Front-end Development is constantly expanding. The types of things we build as front ends become increasingly complex and varied.
For that reason, I think a good Front-end Developer understands the scope, requirements, and technical restraints of the project they are currently working on. This can invariably mean: what their teams expect from them, what their users need, and because things are changing- curiosity!
I admire how good front-end developers answer questions. If they’re super dogmatic about this one particular approach to something being the only one true way then I start to worry. Take SVG illustrations. Or image optimization. Or how to markup navigation. There’s a lot of different ways to tackle each of those things and none of them are perfect. On this note, Chris wrote a wonderful post all about dogmatism a while back and I think about it all the time. That’s the mark of a great front-end developer right there: someone who’s okay with not having the perfect answers all the time.
A good front-end developer is flexible, eager to learn, eager to share and has a pragmatic approach to the ever-changing landscape
Oh yeah, and something something cascade.
What do you think?
This is an open conversation. No right answers. No wrong answers. How would you grade a “good” front-end developer?
A good front-ender knows when to change something and knows when to leave things as they are.
It’s a hard question, as the field and scope keeps evolving. Once, HTML, CSS, and JS was enough. Then came jQuery. Now we have next-gen JS libraries like Angular, React, and Vue.
Today, a good Front-End Developer also needs to embrace all these new stacks, and also have an understanding on how pre-processors, modules, and bundling works, and use them as necessary tools. Having knowledge on how (web)servers work, microservices and their APIs, databases, containers, etc, etc, also vastly helps to be a good Front-End Developer.
On top of that, there’s SEO, speed optimization, caching. And if you know how to navigate, or even code a bit, in the backend then you have a lot of opportunities.
A good Front-End Developer embraces all these things. So it’s no longer just styling elements and text, and manipulating the DOM. He/she needs to own the DOM.
In my personal opinion, a good front end developer is one for whom performance, maintainability, debugging, SEO and (specially) accessibility are not afterthoughts, but an integral part of their workflow
A good front end developer can create a killer speech bubble
I can offer nothing but this: Front end developers are probably very talented plate spinners.
Or were an octopus in a previous life.
I Think The good front end developper must be capable create environment based in the best design and user need, given differents devices, browsers, usability and SEO, whith a clean and simple code.
A good front-end developer knows the “why” behind everything.
In general sense, a good developer is someone who works together with others. Knows how to make the whole team proud of the same project they’re making. A good developer has good introspection capabilities, knowing and accepting that they could be wrong. In essense a good developer does what is best for the product and doesn’t include to much pride.
Can be very difficult of course. I’ve got to admit I’m not always the best developer.
Accessibility is probably one of the most important but oft neglected aspects of a good front-end dev. If you don’t know how to do accessibility basics, you don’t care about accessibility; if you don’t care about that, you don’t care about your users.
I think a good front end developer cares about the people who will be consuming the code they write. Both the users of the web site or app they’re building, and the other developers who have to support and maintain their code. It doesn’t matter if you know the technologies inside out if you’re building bad experiences or your code can’t be easily maintained.
A good front developer can zoom out from their screens to see and appreciate the broader problems around them that need solutions. Not all problems can or should be solved with a rewritten function, a newer framework, or a different language. Sometimes the best solution is completely low-tech and is found by just getting a group of people to talk to each other.
A good front end developer works as effectively with people who are different from them as people who are similar, and doesn’t put themselves or anyone else in a box.
A good front end developer is always learning, but pacing themselves and maintaining a healthy balance while doing it.
I think what makes a good frontend-dev is in the end what makes a good software developer in general:
Constantly learn and communicate
This means sharing what you know, but also asking questions about things you don’t. Nobody knows all technologies perfectly and thats okay (I hope), but you need to know what your client needs and deliver that.
..and don’t use
!importantin your CSS :D
Front-end developers take a holistic look at the architecture of the software they and their team create.