Sorry CSS it seems you're not my favourite anymore.— Chris Pearce (@chris__pearce) March 6, 2017
Where have all the front end developers gone?
Let’s recap, the three front end technologies are:
If you want to become a hipster web app developer you must first erase all knowledge of HTML and CSS from your brain. And common sense.— Roger Johansson (@rogerjohansson) July 8, 2017
I’ve noticed this when speaking to front end developers, looking at front end developer job ads, and as a reviewer of a coding exercise that my employer: Campaign Monitor asks potential front end developer hires to do which I’ll touch on a bit more in the next paragraph…
I’ve even interviewed candidates who have sniggered when asking them how well they know HTML and CSS especially HTML, to give the impression it’s somewhat beneath them or not deserving of their time and effort. Well, there’s more to hiding and showing a <div> when building a dropdown menu, see Menus & Menu Buttons from the excellent Inclusive Components series.
Hiring front end developers
People in charge of hiring front end developers, such as engineering leads and recruiters, often don’t fully understand what front end development is. The amount of times I’ve heard people in engineering leadership roles say such things as:
- I know nothing about front end development.
- Front end development is something I don’t understand.
This doesn’t help, especially when running an engineering team.
My manager at Campaign Monitor, whose title is Director of Engineering, took the time to do a HTML/CSS coding exercise that we use internally. His motivation was to better understand a part of development he’d never bothered to pay much attention to. This is great as it brings an appreciation and understanding, at a leadership level, to these often undervalued technologies. I’d encourage more engineering leads to do the same.
I rewrote the front end developer job ad for my employer as our previous one fell short when covering the role of a front end developer including the skills we were after, as it was too focused on full stack development.
Front end development is not easy
Being a front end developer is demanding, it requires a lot of time and dedication to keep up with its relentless pace—it feels like a new Web API is released every fortnight. And now and again I find it truly overwhelming.
Front end stuff
To end, here’s a list of skills, characteristics, disciplines, et cetera, that I think an experienced front end developer should have:
- Can write semantic HTML including technologies that extend HTML to make it more machine-readable, for example: WAI-ARIA, Microdata.
- Can write CSS at scale.
- Can write highly readable and maintainable code.
- Can build highly componentised UI’s, for example, you’re really good at abstracting UI patterns.
- Can build responsive, accessible, performant, and resilient (cross-browser/device) UI’s.
- Can work with front end tooling such as: Webpack, Gulp, Babel, ESLint, Stylelint, PostCSS, NPM, Git, Browser dev tools, et cetera.
- Has a solid understanding of how browsers work, such as: Critical rendering path.
- Has a solid understanding of what makes for good user experiences (UX) and has an appreciation for design.
- Has attention to detail.
Here’s what Wikipedia says:
Quote: Chris Pearce