The odds were stacked against me. First off, I was born female (albeit a situation I am pleased with, it’s not the wisest career choice in the grand scheme of things). Secondly, I chose the ‘wrong’ masters, which although titled ‘New Media & Digital Culture’, had nothing to do with programming. Lastly: I decided front-end was my jam.
I once had this conversation with a hobbyist Java programmer. “Oh, so you’re into programming?” “Yes! I’m currently learning how to write Sass and jQuery.” “Ah, not programming then. You are into writing markup.” … Yeah. Keep in mind: I was the one with the actual job, there.
Although this conversation took place years ago, there are still some developers out there who consider front-end not to be worthy of the term development. Combine these elements together and you get a hella nervous junior front-end developer, indeed.
Fast forward a few years later; I am quite confident in my development skills and I will meet any back-ender who says front-end is not ‘real’ development outside the playground at 3. Here comes the rub: how do you show that you know what the hell you are talking about? How do you display: front-end?
The tricky thing about front-end is that it is very many things at once. And because it is so many things, and there are so many ways to fill that role, it can be a bit overwhelming to prove your worth. Take the job titles we get, for one: front-end developer/engineer, UX engineer, UI developer, JavaScript engineer, Web developer, FE accessibility expert, SVG animator, React developer, Angular Expert: the list goes on. CSS-Tricks wrote a wonderful article explaining the ‘great divide’ between JavaScript developers and CSS/HTML developers. I agree; front-enders can have strengths in different areas.
Get an all-star team up and running. Someone might know more about back-end adjacent JavaScript like Node.js. Grab a React or Angular developer, alongside someone who can kick Google Lighthouse’s accessibility checks’ ass. Top it off with someone who knows how to center a div in three lines of CSS or less. Kablamo; power! Quite usually, these developers’ skills will overlap, but there will also be very clear distinctions between who knows more of what. All of them are front-enders.
… So how do you as an organisation find a team that has the range of skills you require? How do you as a front-ender developer figure out what a specific team is made up out of, and how you can contribute the most? Proper definition of skillset is the answer to both questions. The problem is that there are no set degrees or certificates in front-end world that are both universally known and accepted as proof of skill in different areas. This also fuels that pesky imposter syndrome.
Personally, I am completely self-taught. I started off by reading ‘Building a Website for Dummies’ when I was fourteen. My first job as a junior consisted of building thousands of e-mail newsletters. The horror. If that won’t teach you to ‘write markup’, nothing will. I moved on to jQuery via Codecademy, Sass via homework my senior developers gave me, then onto vanilla JavaScript by checking out javascript.info, and building my own Pokémon Go helper functions (it was an innocent time). Right now, I’m deep-diving into React, NextJS, Apollo and GraphQL by building my own Dungeons & Dragons helper tool.
It is the universal advice given to developers: learn your craft by building things. Kent C Dodds’s entire 20 min presentation during October 2020’s React Summit covered that one sentence. You can read books and look at videos, but none of that information will ingrain itself into your head if you don’t put it to use. It’s like muscle memory. To truly become a craftsman, you need to learn by imitation, practice, trial and error (Hoare, C. A. R. “Programming: Sorcery or Science?”, 1984).
Ways to get started do include following courses on sites like Codecademy, Egghead, Pluralsite and FrontendMasters. Wes Bos is one of my favourite teachers and offers some courses for free. Following courses like this will get you both the imitation and some of the practice bits. Think of your own Pokémon Go or D&D helper tools to continue the journey. This is where the trial and error parts start to come in; nothing gets you diving deeper into open source documentation then staring at the same console error for four hours straight.
Finally, though, and this is important: learn what you love and what you are good at. By trying out different tools and building different things, you gain an understanding of where it is you flourish. Do you get excited by reading about font-size: clamp(0.9rem, 1vw + 1rem, 2.2rem);
? Does not having to import React from ‘react’;
soon make you squeal with glee? How happy are you combining multiple API data sources into one GraphQL stack?
Although being knowledgeable about a lot of things in front-end world is a good thing, there is also strength to be found in becoming an expert in one area.
Let’s stop feeling like imposters and define those things we rock at. Stop declaring one front-ender as not being an actual front-ender, because their core knowledge rests in SVG animation instead of Node.JS. That guy or girl who knows all about proper accessibility for screen readers? Yeah, that person is a front-ender, too. Perhaps we need to shy away from the umbrella term and start job hunting and hiring based on more specific terminology. Indeed: back-end developers also run the gamut from Java developers to PHP and more. Their vacancies and certificates (although often also overlapping) are more well defined.
As an organisation: be clear in your vacancies and interviews. If you place a vacancy looking for a front-end developer and expect them to build React applications; be very clear about this expectation. If you are looking for someone who will rock your socks off in e-mail newsletter templates: don’t invite the person who has spent the last year developing Angular apps unless they specifically mention their desire to expand their horizon into e-mail templating (although why they would is anyone’s guess).
I will end with a plea towards the educators out there. Perhaps even to the organisations who create these open source frameworks. Please agree on a format that will let us show off our skills. Back-enders get official computer science degrees and certificates from Microsoft, Amazon et cetera. Front-enders get YouTube courses that have certificates based on the honour system. There is more than enough information, craftsmanship and variety out there to fully warrant university front-end engineering degrees, official React or Angular certificates, and solidified job titles with defined skillsets attached to them. Let’s display: frontend.