This is the #1 question I get asked by UXBs: Do UX Designers need to know how to code? It’s one the most contentious topics in the design community today.
With the tech world moving at such a fast pace, hiring getting more competitive, and the proliferation (and consolidation) of roles…this all adds up to a lot of confusion in the marketplace. This article will help clarify any confusion, help you stay away from fruitless “should you code” debates in the community, and provide an easy action plan.
A 1-Minute Explanation of Why UX Exists
To resolve this should-I-be-coding-because-everyone-is-doing-it syndrome, let’s remember the original purpose for the birth of UX design as a profession. How software products used to be made:
Someone has an idea and they go straight to programming the damn thing. But if 1 business requirement changes – major portions of that program, if not all of it, needs to be rewritten. It’s costly and extremely stressful.
Out of a combination of forces including the rise of design, startup thinking, usability testing and more, the field of user experience began to take shape to address how research, testing and design thinking can be employed to make product that are better + faster + cheaper.
So don’t forget – the mark of a UX designer is to research, validate, design and test ideas as efficiently as possible. There’s a reason why in the past several years a slew of prototyping tools have come to market.
Now, how does that relate to whether I should learn code or not?
Reminding ourselves the value of UX design helps us reframe the “should I learn code” question into a more effective one:
“How much code should I learn, and for what purpose?”
As I wrote in the Agencies vs Startups vs Big Corporations article, different organizations have different needs. If it’s your goal to work at a startup, then learning code may be much more applicable than compared to working at big corporation. Or maybe you have a side project and don’t want to spend 10 grand on programming something that might not even come to fruition. So know your goals first.
Take a look at the “coding spectrum” below. This article is targeted at those in group A – those who tend to feel most anxious about not knowing code.
what to do?
The good news is that the majority of UXBs can benefit from moving up the spectrum from a -> b; from knowing no code to getting a basic-level understanding of it. And it’s pretty painless to jump to c (dabbling in some code) – as you’ll soon see.
getting that basic understanding now, in 2 minutes
(getting from a -> b on the spectrum)
Instead of fruitlessly wondering if you need to learn code & invest lots of energy + time into it, do this: understand code at a basic level. This is beneficial for many reasons:
- helps you better communicate with developers
- cuts down on design and rework time
- Example: Designer: “I spent 5 hours on these 6 diff designs.” Developer: “We can’t do that on iOS.”
Being a UX Designer means you need to demonstrate your thinking visually, and front-end code can be part of that process. That’s also why you don’t need to learn back-end code (unless you want to of course).
Here’s a quick primer on the difference between the two.
Front-end code is just what it sounds like: code that affects what you see on the “front-end.” What you’re looking at right now is HTML and CSS.
HTML = the actual content of a website. The text you’re reading right now. It’s the basic skeleton and building block of any webpage. Using HTML you’d define things like the header, footer, body paragraphs and more.
CSS = the style. You take the skeleton of HTML and dress it up with CSS. You take that header and say “yo header, I want to make you red, with a thick border, and super wide.” That’s what CSS does.
So there, you already know at a basic level what front-end development is.
An analogy: front-end is the exterior body of a car, while back-end is the engine that actually drives the car.
Side note: Even most unicorn-seeking recruiters shouldn’t expect you to do back-end programming and handle what happens in a database.
Even knowing this much and being aware of front-end vs back-end will help you understand how your designs translates to programming.
- [Team Treehouse] I Don’t Speak Your Language: Frontend vs Backend
- [Skillcrush] Frontend vs Backend
- [Manning Digital] Difference between Front-end Development and Back-end Development
dabble in code to better solidify that basic understanding
(going from b -> c on the coding spectrum)
I encourage everyone to practice just coding up a little HTML & CSS in order to satisfy your curiosity & strengthen that basic understanding of what code can do. The good thing is that you can do it all in one focused weekend. Go through Codecademy’s HTML & CSS sections. That’s it. There’s literally thousands of tutorial sites and resources, but I find it most helpful to recommend one robust site that does it well. You’d be hard-pressed to find basic tutorials more engaging than Codecademy’s.
the conclusion, and what you’ve learned
This article was designed to help UX Beginners get up to speed as fast as possible, and take action. There will be endless arguments on whether UX Designers should code or not. Stay above that noise, because it’s not going to help you. Instead, we focused on these things:
- context & history: research, design, and testing are the bread and butter of UX designers to help cut time and costs in the development process. As long as you don’t lose sight of that, you’ll be fine.
- your goals: where do you want to work? What skills are required in your current job, or the next job you want?
- demystify code by developing a basic understanding of how code is used. This also relieves unnecessary guilt and anxiety over “not knowing how to code”
- if feeling inspired, dabble in code to strengthen that understanding and work with developers better. Win win for everyone.
If you do find that you enjoy code, there’s no one stopping from learning it seriously. It just requires a tradeoff in time and energy, and needs to sync up with your personal goals.
If you feel like you are more interested and can get more out of doing something else, focus your efforts there instead. Better to be a great user researcher than an ineffective coder.
At the very least, you’ll relieve yourself of the guilt & anxiety of not knowing code, and have at least taken the very important step to understanding it at a basic level. I’ll end this one big side tip: talk to developers a lot. More so than any book, you’ll pick up on what designs are feasible/not feasible by understanding what developers need to go through to turn your designs into code.