The Last Post You’ll Read On Whether UX Designers Need to Learn Code

Should-UX-Designers-Learn-Code-Article

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:

Code-Idea-Mistake-Loop

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.

UXB-Coding-Spectrum-ABCD

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.

HTML & CSS go hand-in-hand. But to fully harness the magic of interactions and add behavior to an otherwise static page, JavaScript comes in.  This article does a good job of explaining JavaScript and its relationship with the other 2 languages.

So there, you already know at a basic level what front-end development is.

It’s creating the content with HTML, styling it with CSS, and adding behaviors + interactions with JavaScript. That means that the back-end deals with things you don’t see that power an application.

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.

Have a really unique layout and tons of graphical effects like drop shadows and gradients? That’ll require more styling & layout, so more CSS. Got a ton of cool transitions and different interaction states based on what the user is doing? More JavaScript. I’m by no means well-versed in front-end code, so here are some quick reads to get a better understanding:

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.

You've read this far. Want full access?

You've read this far. Want full access?

Subscribe to get full access to our private UX Facebook Group, templates, resources and premium downloadable goodies. 

Success! Click the confirmation link in your inbox :)

2 thoughts on “The Last Post You’ll Read On Whether UX Designers Need to Learn Code

  1. “Even knowing this much and being aware of front-end vs back-end will help you understand how your designs translates to programming.”

    I disagree.

    I agree with you that it depends on the goal.

    I’ve been a front-ender for years and currently in my graduate year of Communications & Media Design with a Major in UXD. And I think if you want to understand what kind of impact your design has on your front-end (and back-end) team, you absolutely need to be an intermediate practitioner in HTML, CSS and the arguably of Javascript or jQuery.

    This is especially true for more complex systems like content-heavy apps with a limited range of available patterns.

    The more you know, the better you know what implications your decisions are on making your designs and interactions meaningful for the end user. Plus, it speeds up your product development.

    Many companies have that ‘gap’ between the uxd/visual department and the development department.

    But then again, you could argue that it’s the front-end department who should learn more trades of the UX field and hook-on early in the design proces to guide and support the UX and visual team.

    So in my opinion the question ‘should I learn to code’ is: yes. It will make you more valuable.

    The other question directed to front-end developers: should I hook-up with UXD’er early on and help streamline the project? Hell yes, share that knowledge.

    • Across all industries knowledge transfer is difficult. There remains a gap between design and development at many companies, and I agree that the more you know, the more capable one is in making a usable product.

      Depending on the environment, I wouldn’t necessarily agree that designers need to be intermediate practitioners in HTML/CSS/JS. Does it help a ton? Without a doubt. Is it practical to focus on if that’s not the designer’s strength, and there’s more than ample work to be done on strategy and UX (and this effort is often underestimated)? Not always.

Leave a Reply