Designers who can code are more valuable
Isn’t that enough reason to put this age-old debate to bed?
Oh no. Here we go again. Another “should designers know how to code?”opinion. Hear me out, this one’s simple.
I’ve always believed — and have yet to hear a convincing argument against it — that UX/UI/interaction designers who can code are better designers. You need to understand the possibilities and constraints of your medium in order to do the best design work that technology can allow for. There’s no better way to gain this understanding than knowing how to build your own designs.
This may stem from the fact that I got into web design back in the days when CSS was barely a thing, most websites were static HTML pages, and layouts were coded in tables. Back then, if you wanted to publish anything on the web, you had to know how to built it yourself. There were no sophisticated online website builders, or specialist front-end devs on your team. It was just you, Photoshop, a text editor, and your free Geocities account. Boy, that was an exciting frontier.
So the concept of designing anything digital and interactive — without knowing how to build that experience — is very foreign to me. It’s like an architect not understanding building materials or basic engineering. Or a chef who plans menus but never cooks, tastes, and refines the completed dishes.
Some argue that you can learn and empathise with the challenges coders face, without actually learning how to code. But what the hell would be the point? Understanding the intricacies of those challenges without learning how to code would be more difficult than just learning how to code, so you understand those challenged from first-hand experience!
The value in being a modern designer who knows code isn’t only you can replace the job of a front-end dev. You may only have to produce production code on occasion for certain types of clients, but the point is that you know the ins and outs of it. It’s about understanding what developers are talking about so you can participate in discussions that cross between design and front-end.
Coding your own designs is also an extremely effective way to maintain quality control and attention to detail in design implementation — something that is easily lost in communication even between very skilled people with the best intentions.
But that’s not what I’m writing about today. I don’t care if you don’t believe knowing how to code makes you a better designer. There are more important reasons to consider.
What provides clients the most value?
Coming from a freelance design perspective, I think a lot about what services create the most value for my clients. I’m often hired to do an array of jobs on a project, which may range from branding, info architecture and UX design, UI design, front-end code, CMS development, print design, and more.
This is in stark contrast to an in-house design position — especially at a larger agency or corporation — where there will be other specialists on your team to cover those roles, so you can focus on what you do best.
As a freelance designer, you rarely have that luxury. Most clients don’t have the resources to coordinate an entire team of specialist freelancers. If they were to bother with that, they may as well hire a full-service agency. They need one or two dedicated, trustworthy people who can do it all for them. That means you have to wear many hats. You can’t be only a UI designer, or just a front-end developer. That’s too narrow a range to offer substantial value. You need to be T-shaped.
Designers, kill your labels
Redefine your freelance service offering as a complementary process that delivers your ideal clients the most value.
Let’s look at a hypothetical project as an example
A small business is developing a new responsive web app. They already have a developer as part of their team, but they don’t have any design capabilities in-house. They realise the importance good design plays in the success of their app, but they don’t have enough ongoing design work to hire a full-time designer. So they look for an independent designer to steer the design part of their project and deliver what their developer needs to implement it accurately. This is a very common scenario in which I’ve been hired for a number of jobs.
This project may be broken up into phases like this:
- Info architecture
- UX design and wireframes + prototyping and testing
- UI design
- Front-end code
- Back-end development
This client has #5 taken care of internally, but they need help with 1–4. If you, as a designer, can’t supply that full range of services, they have to look for yet another freelancer or two to fill in the gaps. Chances are, that’s one hurdle too many for the client. They’ll pass on you and look for someone else who they can trust to see the project through from start to finish.
You just lost a design job because you don’t know front-end code. In that client’s eyes, you’re not well-rounded enough to take a gamble on. They need more value.
Here’s another example
The same client’s in-house dev has strong enough front-end skills cover both phases #4 and #5. You’re great at 1, 2 and 3, so you’ve landed the job. Congrats!
UI design goes smoothly, and you package up all your files for hand-off to their developer.
Weeks later, you start getting frustrated emails about how some of your design solutions are extremely costly in development. That slider you thought was simple is actually adding 8 hours to their dev schedule. They now have to either come back to you (and pay you more money) to revise designs for a different solution that’s easier to implement. Or even worse, the developer hacks together an alternative on her own with little design consideration.
Had you known what was involved in coding that feature, all of this could have been avoided. You would have brought up the potential complication from your side when you first presented the design idea, initiating a conversation to see if they were comfortable with the development cost. Had it been a problem, it would have been caught early, and you could have provided an alternative solution on the next design iteration.
But you didn’t, and you just cost your client a thousand dollars because of one poor design decision, stemming from your lack of front-end understanding.
These examples may sound pedantic, but they’re not to your clients! And they are all too common.
Good designers vs. Great designers
The ease of relationship you provide — and the level of trust you earn by anticipating these challenges before they happen — is what separates average designers from great designers. And average freelancers from exceptional business partners.
Being able to consult across that full range of services makes you more valuable to your clients. It makes you more suitable for larger jobs. And it allows you to command higher rates.
Even if you’re a designer on a team of other specialists who together provide that full range of services, you’re far more valuable to your employer if you have the nous to understand and contribute to conversations around their parts of the project as well as yours. That’s how effective teams communicate. Nothing is done in a silo anymore, and everything overlaps.
So the next time you get defensive about your lack of coding know-how, remember this: it’s not other designers or front-end coders you have to justify your limited design skillset to, it’s your clients. If you can’t provide everything they need to make their project (and your designs) as successful as possible, you’re losing jobs and losing opportunities for higher pay.
Forget about whether coding makes you a better designer. The added value it brings to your clients is more than enough reason to get on board with it. And it will produce the side effect of making you a stronger interaction designer, whether you want to believe it or not.
Want to comment?See this story on Medium
Hi, I'm Benek Lisefski. Since 2001 I've run my own independent design business. Join me as I unfold 18 years of freelance business knowledge: honest advice and practical tips to help you take your indie career from good to great.
MediumTop writer in Design, Business, and Entrepreneurship.