Moving from Node Sass and main.css to Dart Sass and scoped CSS components 15 minute read TL;DR: Thinking about proper CSS architecture was already quite the science, but how do you approach this…
October 16, 2020
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?
… 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.
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.