Designers need to learn about code

Designers need to learn about code

Jesse Weaver:

Let’s get real here. Design and development (both front end and back end) are highly specialized professions. Each takes years and countless hours to master. To expect that someone is going to become an expert in more than one is foolhardy.

This requires one key element: empathy.

What we should be saying is that we need more designers who know about code.

The reason designers should know about code, is the same reason developers should know about design. Not to become designers, but to empathize with them. To be able to speak their language, and to understand design considerations and thought processes. To know just enough to be dangerous, as they say.


Designers who don't know a line of code can still be good designers. Heck, they can even be great designers. It's just going to be very, very difficult for them to fully take advantage of the possibilities of the digital media they're designing for, if they don't understand the fabric that makes up that medium.

Should filmmakers know how cathode tube rays work? What the difference is between LCD, LED and Plasma? Between 35mm and 70mm film? Probably, yes. It could help them push the boundaries of what they can do with the film medium and the ways it's projected. But knowing everything about your tools doesn't necessarily make you the best filmmaker—just the one who knows most about the tools.

Designing digital products requires you to know at least how machines tick, because that is how you're able to talk to developers in a way that is, yes, empathetic and respectful to both their and your skills.

The other day, I had to add a line to fstab on my DigitalOcean droplet running my Docker-powered mini-Heroku, Dokku (or, rather, Dokku-alt, I'm not a savage after all) so I could turn on memory swap. I used nano to edit the file, given how vim is for masochists. I was in way too deep in every way. Did doing this dance with my computer make me a better designer? Probably not. But because I have the interest in how computers and software actually work and run, and given that I'm working on a product aimed at developers crossing over to the ops world, it's helpful for me to be put in their spot and empathise with them.

Now, I'll see if I can get through Paul Ford's massive article: What is code?