I spoke recently about the intersection of design and development, and added my voice to the conversation about whether designers should aspire to be developers too. I firmly believe that by understanding the capabilities and limitations of technology, designers can become better problem solvers without needing to learn everything about code in the process.

So, should designers code? No. But, they should be able to.

Here’s why:

First, my story

The reason I’m starting here is because I always feel a bit awkward talking about the technical capabilities and expectations of digital designers — ultimately, because I can code. But rather than making me a hypocrite, I’d like to think that having dabbled in both disciplines, I can offer a better insight into the debate.

Ok, so… after 8+ years working for digital agencies around the world, I now work as the Creative Director at a software company, Campaign Monitor. I oversee two design teams; a Digital Design team, and a Product (UX) team – two groups of extremely talented designers, some of whom can code, and others who can’t.

Whether a designer can code or not isn’t of much interest to me — instead, how they approach solving creative problems is what matters most.

I’m also the founder of a product called Prevue – a concept sharing tool for designers. During a period of working as a freelance designer 5 years ago, I needed a way to share my designs with clients, so learning how to code was just a byproduct of solving that problem. At the time, I didn’t know much about tech — but by learning “on the job”, I’ve been able to build a product that’s now used by over 20,000 people to share 500,000+ images a year.

But aside from teaching me the basics of code, the knowledge that I’ve gained from Prevue mostly helps inform the design decisions I make in my day job at Campaign Monitor.

So, yeah — I can code. But you know what:

I’ve never had to code as part of my day job.

I’ve been a digital designer for over a decade, for agencies and products alike, and front-end development has never been a written requirement of a single job I’ve held. Actually, I don’t know nearly enough basic development to make it as a professional developer!

GIT, SASS, CSS3 etc scare the shit out of me.

But, understanding the fundamentals of code is absolutely essential to my job – it makes me a better designer, and improves my art direction of others, helping them push the boundaries of their own designs.

Maybe an analogy would help…