The Intersection

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…

A race-car driver who understands how an engine works, will know how to get the most out of it. Though they may not be able to build an engine from scratch, a broad mechanical and technical understanding will ultimately give them a competitive advantage. — The same applies to design.

This distinction between understanding and doing is an important line to draw for digital designers; understanding what’s possible with technology will teach you how to solve problems more creatively, and will no longer limit your solutions to what you can achieve in pixels. Sometimes, technology can even solve problems that design over-complicates.

Know enough to push the boundaries

Understanding tech will: Make your design solutions better.
Say you were asked to design a credit card form for a website. Without knowing what’s possible with code, you could find yourself designing a complex, multi-input form. And as beautiful as that may look, you may be missing out on something a lot simpler, more functional and more successful for taking payments. Take Brad Frost’s input experiment, for example:

Single-Field Credit Card input from Brad Frost

Understanding tech will: Make you better to work with.
Okay, so let’s say you can code – and you’ve created a prototype like the one above. Have you thought about security? Mobile considerations? Performance and cross-browser complications? It may be that by inventing a brand new form of interaction, you’ve created a lot more work for the developer whose going to integrate your design. The same applies for gratuitous animation, over-the-top effects and responsive-everything.

Of course, you don’t need to have all the answers, but you should know that there are consequences to complexity. Understanding what’s involved in building your designs will invariably help you assess whether the technical debt is worth it — and if so, will help you to convince others of that too.

Understanding tech will: Make you a better designer.
By knowing how to answer creative briefs through leveraging the capabilities of technology; you will invariably be able to see past trends, and focus on solving problems — regardless of whether the solution takes the form of pixels, HTML or both.

So, about that unicorn…

Yes, they exist — magical creatures who can produce world-class design, and also pump out production-quality code. But they’re hard to find, and even harder to become. You could aspire to be great at two disciplines, but the chances are you’ll forsake one in the pursuit of the other.

Instead, my advice to digital designers is that you don’t need to actually become a developer; simply focus on understanding how code works, and use that knowledge to enrich your designs.

And the best way to learn? Do.