The reason developers avoid CSS

Not all web developers know CSS well and some I’ve spoken to believe they don’t need to. Other than the challenge to master CSS which I’ve written about in Why CSS is difficult to get right? An underlying and systemic problem exists that I want to address. Design is not always respected from the perspective of developers. It is seen as an afterthought. The last piece of the puzzle that every developer dreads. It is seen as a necessary evil that gets in the way of real work. This sad reality impacts the relationship developers have with CSS and design as a whole. It drives a wedge between developers and designers and reinforces negative stereotypes and biases. Why is CSS relegated to the last minute hack or simply passed on to the resident CSS expert?

Why is CSS seen as inferior by developers?

Through my experience as a developer and study of design, I’m intrigued by the perception that CSS has through the eyes of many developers. There is a rivalry between languages and technologies that is inescapable. It comes up through jokes and strong opinions that fill a room, but CSS seems to garner more pervasive disdain than any other language.

It’s not a real language

On the surface, arguments against CSS are justifiable. It isn’t the most intuitive language or the easiest to master. CSS doesn’t have the features of a scripting language like JavaScript. It requires a different way of thinking, which conflicts with existing assumptions. All these culminate because developers tell themselves, CSS isn’t a real language, so why should I learn it?

By perceiving the CSS as not a real language, it’s seen as inferior and challenging to do anything useful in. Once this mindset is in place, it often receives the least focus. It’s left until the last minute and is a frequent cause of bugs because of the rush to get something done or the lack of understanding about best practices. A large and or long-lived code base exacerbates the problem and instils fear in developers. The mentality becomes that of a knight going into battle against a dragon; the developer is up against an insurmountable foe. They are congratulated when they struggle to hack the CSS into submission and update styling without breaking the whole website. The fear of ‘wasting time doing CSS’, reinforces another argument that design is less important.

It doesn’t matter, it’s only design

It’s difficult to pinpoint exactly why some developers feel design is unimportant. Perhaps it’s the lack of understanding of design that means developers lack appreciation. Maybe it’s a defence mechanism to avoid having to put on armour and do battle with the dragon. I’ve heard groans when a design changes. I’ve even expressed frustration over the specificity of a design. If you think design doesn’t matter on the web, then consider these truths:

It’s not possible to ship a successful website with just CSS.

It’s unlikely that you could ship a successful website without CSS.

Design is seen as purely aesthetics, where the core focus is to deliver value to the target audience. This leads to CSS being perceived as a secondary concern. It’s the last piece of the puzzle and gets limited attention. This feeds into another lie that I’ve heard many times. Directly as “We’ll worry about the design later, just get it working” and indirectly as “The functionality is what’s important so focus on that first”. Design is important, and it’s difficult to argue it isn’t. Poor design is easy to spot by even the untrained eye. With a great selection of well-designed websites and products available, design is a differentiator. It is the user’s first experience of your site and helps a user determine if they trust your product. This leads to an interesting perception of design; it’s a feminine subject.

Why is design perceived as feminine?

In high school I took programming classes alongside art and design. In university I studied graphic and media design alongside computer science. Computer science and design seem to be fields which have huge gender imbalances. In my design classes, women outnumbered men by a very small margin. In computer science classes however, there was a significant difference with men making up at least 80% of the class. I only know a few others who were studying both computer science and media design alongside me.

I highlight this imbalance because graphic and media design has a perception as a feminine subject [1]. Whereas computer science is perceived as a masculine subject [2]. It’s unfortunate this perception exists, I believe both fields should be equal, but it’s a difficult perception to break. This dynamic is complicated further by tension between STEM subjects and art subjects. In my experience, some developers hold an underlying belief that they are more important than designers. This false unconscious bias is at the core of why design is perceived as inferior when it’s not. We must all work to overcome these challenges and introspect to avoid falling into the trap of believing design is unimportant.

How can we overcome the CSS stigma?

CSS is part of the whole picture that makes up the web. You can’t just ignore it and hope it will go away. It won’t. The best thing to do is to do what developers do best and learn. Once you consider that CSS is an integral part of your web developer’s toolkit, embrace it. Make understanding your top priority to overcome any fear or harboured resentment you have for CSS. Fear is the unknown, so the only way to dispel it is to learn deeply about it and become the torchbearer for others.

If you have limited experience of design, then you might not appreciate the important work and deep thought that goes into design. UI design isn’t just about more white space here or there. It’s not just about which colours to use or how big the title should be. Many factors inform design just like programming is. Design is about communicating your intent without saying a word. It’s the guiding searchlight in the night that attracts people to your product. It’s the invisible hand that points users in the right direction. It’s the glue that connects the pieces together. Take some time to learn about design and you’ll grow to appreciate it a little more.

There is no merit in putting up walls between developers and designers or anyone in your team for that matter. Empathy is a powerful tool to break down barriers and ditch cognitive biases. It’s important to treat the input of your team equally. Design and CSS should be incorporated into planning and development as a core pillar of building a product on the web. To leave it until the last minute is signalling you value your time more than your designer.

Footnotes

_[1] Media, D. N. (2014, July 30). Women in Graphic Design (and why we need to talk about them). Retrieved from _https://desktopmag.com.au/features/women-in-graphic-design-and-why-we-need-to-talk-about-them/

_[2] Gallup, Inc. (2017, June 8). Public Believes Men, Women Have Equal Abilities in Math, Science. Retrieved from _https://news.gallup.com/poll/15202/public-believes-men-women-equal-abilities-math-science.aspx