CSS skills should be valued as much as JavaScript skills
Honestly, this should have just been a tweet, because it’s as simple as that. However, I deleted my account so we’re just going to have to give it deeper consideration.
Why do I feel this way?
A few months ago there were discussions about the job title “front end developer” and exactly what responsibilities fall under that domain. From the developers viewpoint, what should they be studying up on? From a hiring manager’s viewpoint, what skills should they be asking for, expecting, interviewing on, etc.? Looking at a sampling of job postings, it seems to be that front end developers need to know JavaScript, and maybe CSS gets listed next to HTML. You should know React, Angular, Vue (that all three of those would ever end up in the same listing is concerning), and then everything else is pretty much secondary.
Who is responsible for the styles then? Who is going to ensure that your interfaces don’t fall apart the moment you add new functionality? Who is even keeping track of patterns, components, shared standards? Apparently a front end developer spends something like 2% of their time on these things?
Why is this important?
Performance, accessibility, maintainability, user experience… I could go on.
If you know CSS really well, you know how to ship performative CSS. You know how to ship less CSS. You know how to ship accessible CSS. And these are two incredibly important aspects of any web project. As the web continues to reach people it never has before, performance and accessibility just get more important.
Additionally, as more and more CSS is added to a project, the harder it is to keep track of it all. Creating style guides, pattern libraries, and component systems are all important tasks for the longevity of a project. The developers who create a project may not maintain it in 2 years, and someone with strong CSS skills is writing code with an eye to the future.
What do we do?
A little while ago, I switched my title on my website to “UI Developer,” as it seems to better describe my skills, abilities, and talent. I don’t think that “front end developer” accurately describes my role anymore, even though my day to day work hasn’t changed that much. So, part of the solution is for developers who love this part of the stack to own it.
Beyond titles, we need to adjust how we talk about CSS skills. Unlike JavaScript, it can be hard to define what “good” CSS is. It’s a little more subjective. Writing or talking about CSS can involve more gray area, which is harder to talk about than a straightforward snippet of code. However, we need to be having these conversations. Discussions should happen around how UI elements work within a larger system, and how to make exceptions. We need to talk about browser support and what can cause accessibility issues. Also, beyond a chosen methodology, we have to think about how we get everyone on the same page with how we create UI within our organizations.
As much as I’m feeling this issue of giving CSS priority, my own site is having trouble. It can be difficult to write and share CSS outside of a larger system, and the posts are slightly more difficult to write. It’s been a concern of mine for a while now that my writing doesn’t align well with what I am most interested in. This is definitely something I need to course correct on. Walk the talk!