TLDR: It depends on your project and team.
This is a topic that I’ve been pondering for a while and only recently been able to speak to with some confidence. I’ve been working as a designer for the last 10 years, and for 8 of those years I didn’t really know how to code.
Over the last two years or so I’ve really sunk my teeth into programming, partially because I’ve always been curious, but also because the answer to this question burned so deeply at me.
I often saw other non-technical cofounders asking the same question:
“How do I get started on a product if I don’t know how to code?”
And typically the responses fall into two buckets:
I took the second option.
Around June 2016, in order to learn as fast as I could, dropped everything I was doing and devoted myself to learning programming. I was averaging around 100 hours a week, basically only stopping to eat and sleep. I did nothing else. With the help of my colleague Rodolfo Perottoni who often graciously stayed up past midnight to answer my noobish questions about why my recursive functions weren’t working, programming finally started to ‘click’. I started working on my own side project shortly after and by the time we began work on Askable version 1 in November 2017, I was at what I’d now consider a basic level of programming skill and knowledge.
So after all that, do I think designers should learn how to code?
For me personally: absolutely. It’s made a huge difference. I lead a small (tiny?) development team of 4 and I work in a tech startup. The benefits of being a co-founder who knows both design and development for me are:
“Yeah that’s all cool but what about the drawbacks? It sounds too good to be true”. Well yeah. If I’m going to be honest there’s one massive drawback:
The other issue is that if you’re a designer, your brain is probably wired to think like a designer. Learning to program as a designer is in some ways like putting on a blindfold and designing using only keyboard commands. It really requires a radical change in the way you think. You no longer have the luxury of being able to see your work laid out pixel by pixel in front of you. Sometimes, you simply have to hold a bunch of functions and variables in your ‘working memory’ while you’re build something.
It’s hard as hell and feels extremely unnatural. It was almost painful, forcing myself to re-wire my brain and train myself to think about problem solving in a completely different dimension.
But for me, it was absolutely worth it.
It may be an entirely different story for designers who work in much larger organisations — I simply couldn’t speak to the benefits of learning programming in a situation like that (if you are one of those people I’d love to hear your thoughts!). But as a designer working in a small, fast paced team, learning and knowing programming has played a critical role for me personally in the journey thus far.