Should designers know how to code?
The short answer is no. The long answer is “yes, acquiring some basic coding skills might be a fun experience, but isn’t mandatory”.
This article originally appeared on my website, openux.cc.
We often come across job openings for UX Designer position with ridiculous requirements — some ask for exceptional coding skills, others are looking for candidates that can design and code websites: seems like every other start up is hunting unicorns alone.
Young designers, already fascinated and terrified by the amount of skills they have to master, might see it is a call to action, purchase The Art of Computer Programming, and soon find themselves disappointed and discouraged.
Fortunately, having decent understanding of HTML/CSS doesn’t mean that you should learn the entire list of tags by heart or become a walking CanIUse library. No one will ask you what ‘5’+3 will return in JavaScript and no manager in their right mind will demand you to build a web page.
However, as someone who works closely with the engineering team and is responsible for the look, feel, and experience of the product, you might want to speak the same language as your peers on the other side.
You may not know all the details — and you absolutely don’t have to — but at some point, if you do your homework, you might be able to spot an unfeasible solution your PO is pushing for, explain to your managers why certain features can’t be implemented, and benefit from understanding the developer’s perspective in general.
There’s a major difference between doing and understanding how things work.
Same as you don’t need to be an exceptional runner to become a successful trainer, you don’t have to know how to code to develop shared understanding and bridge the gap between creatives and engineers.
Being great at one thing is better than being mediocre at multiple.
Being a decent, let alone a good developer takes time, effort, and energy, and staying on top of the game requires it all sevenfold.
Same is true about being a good designer — mastering your interviewing skills, crafting endless prototypes, becoming a better leader demands extreme devotion.
Chasing both can become a serious challenge — not only to your physical well-being, but to your mental state as well, unless you accept that a few hours a week will most likely make you mediocre at best.
Alan Cooper wrote a beautiful article stating that Performing a task does not automatically teach you the implications of performing it. You may learn some technical jargon, know how to code a web page, but this won’t make you into a developer — years and years of hard work and continuous learning will.
Good programmers and good designers are rare. Trying to force them to work outside of their professional scope is a waste of their talent.
But learning new things is great!
Learning new things is indeed exciting, it increases the density of your myelin and helps your mind grow strong. As long as you enjoy the process and don’t force yourself into mastering Python in 30 days, you are more than welcome to purchase ‘Computer programming in the BASIC language’ or take a Computer programming course on Khanacademy for starters.
Being able to deliver a somewhat decent prototype or code your own portfolio will definitely be a pleasing reward to hours spent and eyes cried out.
Don’t get it wrong, becoming great at both experience design and software development is not impossible — it just requires a lot more effort than most of us can afford and quite often doesn’t pay off, as you might probably have to stick to one discipline at the end.
But coding is not that hard!
It is, but don’t take my word for it. Again, listen to Alan Cooper, a famous software developer, Father of Visual Basic, and a pioneer of the modern development who writes a lot on how programming is not just a skill to acquire but an art that demands dedication and commitment.
Yes, learning the very basics of the language syntax cannot be exceptionally hard (tell this to the JavaScript Maths though), but learning the language doesn’t mean mastering the code.
We have been building crappy software systems for decades, and we still can’t seem to figure out how to do it effectively. Typical projects never get out the door.
It works both ways.
The core pillar of design are empathy and understanding — learning who your users are, what they truly desire, what they struggle with is a key to delivering well-designed projects.
Learning how to create personas and empathy maps or facilitate user testing might benefit the developer who’s willing to enhance their skills and deliver better products.
So, the short answer to whether designers should know how to code is — no, they don’t, and neither should the employers demand their designers to be part-time developers.
If you are feeling curious and adventurous, don’t be shy and give it a shot. You will be fascinated by the beauty of the programming magic and, if you’re patient and persistent enough, you may achieve a lot.
Otherwise, do yourself a favour: read a few books, learn a few terms, and don’t waste your time trying to master another skill for your CV and become a Swiss Army Man.
References.
- Should Designers Code? by Alan Cooper
- Designers are not Programmers by Lukas Mathis
- For Designers, Learning To Code Isn’t A Yes-No Question by John Pavlus and Matt Webb
- Why designers don’t need code to survive by Dane Storrusten
- The “designers should code” bullshit and a not so new idea by Erin Casali