UX Designers Should Code

Should UX designers learn to code?

I frequently see questions about whether UX designers need to learn to code. I am a UX designer who codes, so let me address this matter, hopefully, once and for all.

As a UX designer you don’t need to know how to code to do your job. However, with increasing competition in knowing how to code HTML/CSS and JavaScript might become a strong differentiator that can set you apart from other designer, and can make you more competitive in the field of UX design.

Some design purists believe designers should never need to code. I’d say in ideal situation, yes. You shouldn’t need to touch code. But I’d also say that coding can be a great complementary skill for any UX designer, particularly if you’d like to focus on UI design. It will not only set you apart from competition, but will also make you a better UX designer.

Besides it is not that hard to learn, so it definitely won’t hurt.

Having said that, I wouldn’t recommend you to start learning to code before you have some foundation in UX design.

4 Reasons why UX designers might want to learn to code

Here are 3 reason why you might want to learn to code as a UX designer.

1. Use coding as your competitive advantage

Check job listing for UI/UX designers in your area and see if coding is part of the job requirements. In many cases employers are looking for a designer who can wear many hats (coding included), so if that is the case in your area it is a good idea to get some coding experience.

There are plenty of successful UX designer who made it without coding, but they might have had another competitive advantage that set them apart. It could have been their education, prior work experience, or specific domain knowledge.

Knowing how to code proved to be an invaluable skill for me. I won many projects as a freelance Web designer because I could do both design and code. Having some coding experience also open the door to my current place of employment where I was hired primarily as a Web Developer, and quickly transitioned into a full-time UX role. But that’s a whole different story.

2. Make better design decisions

Knowing how to code might not be a career defying factor for you, but understanding how designs are coded can definitely make you a better designer.

Think about it. How good can be an architect who doesn’t know how building are built, or an automotive designer who doesn’t know how cars are made?

When you have experience in coding you can make better and more nuanced design decisions. For example, if under tight deadlines you can choose to use a more streamlined UI component in place of a more elaborate custom component that will have to be coded from scratch.

3. Use code as a design tool

Believe it or not but code is an excellent design tool. It is free too! No yearly license fees attached.

When I was learning Web Design I learned to code CSS and HTML before I learned Photoshop and other traditional design tools. I was designing my first websites in code. As a huge bonus, I didn’t have to rely on someone else to make my designs come to life, and once I was done, I was actually done. I could just publish my website and call it a day.

4. Communicate better

By having some experience in coding you can also become a better communicator.

You can build simple interactive prototypes and use them for presentations and user testing. I’ve had great success with abandoning static mocks and pushing through complex design problems with the help of coded prototypes. Some of them were even used for sales presentations to clients.

Knowing ins and outs of how designs are coded will also help with handing off and discussing designs with development teams.

Your clout with developer will definitely go up if you can demonstrate competence in HTML and CSS. In many cases, developers will appreciate any help you can render in making your designs come to live.

Learning to code for UI/UX design is not hard

Many designers get turned off by coding thinking that their mind is not build for it, and that programming is just too hard to learn.

Nothing can be further from the truth when talking about coding for design!

HTML and CSS

Let me be perfectly clear, when talking about coding for design I am really talking about HTML and CSS, and learning HTML and CSS is actually not hard at all.

HTML and CSS are most common languages that UX designers learn and use
HTML and CSS are most common languages that UX designers learn and use

Strictly speaking HTML and CSS are not even programming languages. They are much more a design tools than programming languages that professional developers use in their work.

Many professional programmers have hard time with HTML and CSS, because strictly speaking they are very different from traditional programming language that they are used to. Not sure if it is just a mental thing, but designers tend to do so much better with those.

The opposite is also true. Designers (myself included) seem to have much harder time with traditional programming, especially once you get into complex structures like Objects and Inheritance…

HTML stands for Hyper-Text-Markup-Language, and CSS for Cascading Style Sheets. Even the names suggests that these are so much more about the look (markup and style) and not functionality. They are main coding languages that are used to make our designs work in the browser, and in many cases on the phone too.

You might be surprised by simplicity and elegance of HTML and CSS. It might take a bit of time to get used to designing by typing commands rather than moving the mouse. But once you realize how easily code translates into something visual (and real) you will get pretty excited about learning more.

There are plenty of free resources that will teach you HTML and CSS in a fun and engaging way.

I’d say you should be able to learn the basics and get start coding some simple designs in a matter of weeks. There are several simple rules to both HTML and CSS that you can learn and code rather complex designs.

CSS derivatives like Less and Sass make working with original CSS even easier.

Bootstrap

There are also frameworks like Bootstrap. They make it very easy to put together interactive responsive interfaces with pre-made components like dropdowns, tiles, image galleries, etc.

They also make it very easy to create responsive layouts.

Unlike the design tools, most of the coding tools and frameworks are actually free, so it doesn’t cost anything to get started and even to use them for commercial projects.

JavaScript

If you feel adventurous give JavaScript a try too. This is the secret sauce that makes the web apps work. But now we are talking real programming language albeit also not so traditional.

Learning JS will take some work and dedication. But it is a lot of fun. JavaScript is what makes all those website and apps you use snappy and interactive. It is not so secret sauce of nearly every modern applications. It is literally everywhere.


In summary, I’d highly recommend every UX designer to learn at least basic HTML and CSS. You don’t need to learn to be an expert front-end developer. You can learn enough to be competent in just a matter of weeks. It is a worthy investment of your time. You might not use much of what you learn in your day to day, or you might get hooked and become a UX designer who codes! You just never know!