UX Careers: To Code or Not to Code?

Hello All,

Aspiring UX designers always ask me, “Should I learn to code? And, if so, which languages are most critical to my long-term success?” I’m wondering if there are UX designers out there willing to share their personal experiences, especially at the extremes (i.e., UX designers with absolutely zero coding experience versus those of you with in-depth training in HTML, CSS, Javascript and beyond.

How much code should a UX professional learn, and for what specific purposes? And how, if at all, has coding experience affected your job prospects, salary and overall career enjoyment?

Robert

2 Likes

My career path took from me (in part) from software engineer to developer to UX Engineer. I’m certainly not Captain Code, but I know my way around a few languages (HTML, CSS, JavaScript, JQuery, PHP, and MySQL are my go-tos).

My advice to anyone wanting to get into UX is to get a fundamental understanding of HTML, CSS, and JavaScript. Modern websites rely on all three, and knowing how they work - as well as their current strengths and limitations - will help you understand the limitations of your designs.

A practical example: one of my employers used a Java-based system to render their front end. Our developers wrote Java code that grabbed pre-styled page elements from a visual library. Although they could write additional Java code to edit an element’s CSS styling, that often meant visual changes were hard-coded into the system. This is a bit of a no-no for most developers, but a lack of CSS knowledge on the part of our Java developers (which was surprising to me), deadlines and pressure to move items to complete quickly got the best of people, especially if time to create or edit new CSS styles were not included in our work estimates. Between the time they took learning the appropriate CSS solutions and completing the code, hard coding was sometimes the only option to move features out the door on-time.

From a my standpoint, this meant I had to have a damn good reason for requesting visual changes, that I had to point out these changes during our story refinements (it was an Kanban shop), and that I’d often work with developers to help them identify the CSS properties to adjust.

Now, is this all strictly UX work? No. But it did bring a ton of value to the team. Eventually our Java developers took more time to learn CSS, our PM’s learned to ask about time needed for visual changes, and our process became much smoother and straight forward - simply because they had a design professional that new the technical requirements well enough to point at the beginning of the process, rather than in the middle of it.

The counter-argument is, of course, that UX can, and maybe should, be done in a vacuum. Especially from a UX Research perspective, we are normally more focused on identifying problems and suggesting solutions than we actually are with how those solutions are implemented.

It’s entirely possible to be a UXer who doesn’t know a lick of code. When it comes to landing a role and adding value to an organization, however, those with coding knowledge will usually have an edge.

6 Likes

You should definitely learn the basics of coding as well as the development process of websites and apps.

3 Likes

As a programmer who just entered the UX world. I believe you don’t need to learn to code if you’re a UX Designer, because you can apply your knowledge in any field. However, if you know how to code, learning how to become a UX Designer is a plus.

For example, when I used to create mobile applications or web applications, I always thought about how the user should interact with my app, learning about the process of building a user-friendly experience helped me create better apps. Currently I’m working with a company with the main expertise is UX, we create anything, from mobile and web apps, to building a network for your own company, my job at the moment is to design flows for projects offered by clients, the major problem I encountered was that I always laid down my background as a programmer, so whenever I started designing an interface, I think about whether what I’m doing is doable as a code or not, it helped me sometimes to save me time from presenting the interface and then having to change it because they couldn’t create it, but however, thinking as a developer doesn’t really help a ux designer, so once you learn how to code, you’ll just be constrained by whatever you learned, you’ll always think what you’re doing won’t work out. So yeah, I don’t think you need to learn to code, as long as you have the ideas, leave the coding to those who are better at it. But, if you want an extra hobby or if you want to learn new stuff, then go ahead, learn how to code(but remember, don’t let it affect how you think, once a programmer, always a programmer).

5 Likes

I actually wrote a blog post and shot a video about this recently. Here was my thinking:

I think overall, if you can code or you have an understanding of front-end and back-end technologies, then it’s very helpful, but it’s not required.

Advantages

  • Being able to code allows you to understand what is possible from a technical perspective. This is positive because if you have an understanding of the technicalities of a product or service, then you are likely to take a more holistic approach to it’s design, incorporating all the elements of what you know about how it might be built and function to your design process

  • The ability to code also allows you to understand what is not possible. Obviously, every project is different and restrictions are largely dependant on context, but understanding what cannot be done allows you to keep the focus on working toward a solution that is ‘buildable’, leading to less friction at the interchange between design and development

Disadvantages

  • To slightly contradict my above argument, sometimes ignorance really is bliss. If you are approaching things from a purely human centered design perspective, then meeting people’s needs should trump technical constraints. So essentially, the focus should be designing the right solution, then figuring out how to build it, rather than being influenced to much by what you think can or cannot be built.

Video here: https://youtu.be/qbD6mEA6s7Q

Would love to know other’s thoughts!

8 Likes

I’ve shared your video on Twitter Robert. I’ll let you know what they think.

1 Like

Thanks! :grinning:

Very kind of you

2 Likes

How much code should a UX professional learn, and for what specific purposes?

Like anything you pursue, learning to code should be driven by natural curiosity about the way things work, hopefully in concert with some kind of pressure to know how things work.

For a web designer, the browser and how you interact with it are the medium and then HTML and CSS are the brush and paints. Designing websites in Illustrator or Photoshop or MSPaint (yes, there are people still do that) hog-ties you because A) you’re in a static design mentality and B.) fulfillment of your idea will always hang on the decisions of others who actually know HTML and CSS and understand browser interactions.

Every designer has experienced the frustration of seeing your ideas manipulated and revised by someone else until you barely recognize them at all, and that is good motivation to learn how to do it yourself.

And how, if at all, has coding experience affected your job prospects, salary and overall career enjoyment?

Knowing something about the medium helps collaboration with developers, there’s more mutual respect at the outset because you’re designing with some of their needs in mind vs. making assumptions and forcing them to connect the dots. So for me, the technical knowledge really goes hand in hand with my approach to UX and meeting people closer to where they are.

As far as job prospects, I will say that I was once asked to do a simple HTML coding exercise for an interaction designer job which a lot of the other designer candidates apparently failed. I hope that’s not the only reason I got the job and they didn’t! But my point is that it depends on the job. If the description says “Must know HTML/CSS” then be prepared to prove you do!

2 Likes

Yes! So much this.

I ran a 3-day poll on Twitter asking whether UX pros should learn to code. Right now (with one hour left in the poll), we are at precisely a 50/50 split.

Some great written responses came back as well.

Trick question, to be honest. #UX pros should understand how code works, constraints, limitations, to some reasonable degree. So learning is helpful, to be sure. But that’s very different from being ABLE to code, which is simply not possible for a lot of right-brained folks…

No one is saying we can’t or shouldn’t learn :slight_smile: Instead, my goal is to call out the unrealistic and unfair expectation that every #UXer or #designer MUST know how to code.

Also, the more you know, the better. But trying to do both equally well? One of those balls gets dropped. - @deprecated

Code is tough. Took a pseudocode class and nearly pulled my hair out. But as a UXer, why sell ourselves short? Why can’t we learn? - @sparkle4meplz

Agree with @deprecated. It’s the “should” part that is troublesome. Should architects have the skills to build walls or do they just need to have a deep understanding of how walls are built? It’s great when people enhance their skills, but the unicorn ideal is misguided. -@intrepidleeloo

In my perspective, the ux designer will becoming “Killer Frontend” if they major in coding, So it’s not necessary learn how to code but ux people must understand the basic of HTML and CSS -@Lsatriohutomo

As @nickf had mentioned in the recent thread, it’s great to know how to code, the APIs, how it all works at a broad level. But one need not necessarily know how to ship production code.

I’d imagine the courtesy extends the other way too? Overall makes for a great product. - @krayker

EDIT: The poll results ended up being 52% against learning to code, and 48% for. With such a close margin of victory for the nays, I can’t say we’ve really come to a consensus.

2 Likes

Thank you for sharing this.

1 Like

Short answer: no, it’s not an absolute requirement.

Bit longer answer: it depends :slight_smile:. I stick to my point that it’s absolutely no requirement for a UX’er to be able to code. In fact, if coding is one of your activities as a UX’er, I would wonder how far off you’re from doing core UX activities.

That said, it is useful to have a grasp on how HTML, CSS, and Javascript works, if you’re working closely with a development team. That’s still not the same as being able to code, but you’ll definitely be a valuable addition to the team. I know plenty of UX’ers though who work in scrum teams as well, without being able to read a single line of HTML or CSS. Doesn’t make them bad UX’ers though.

Then there is the other end of the spectrum as well. I mentioned that being able to code, or understand code, is useful if you work in a UX team. If you’re more at the research, or value proposition design end of the spectrum, then being able to code won’t help you a lot, if not at all. And UX is a spectrum, so whether coding is useful depends on what you want to focus on eventually.

1 Like

This is brilliant, @dougcollins. If we ran this poll every quarter for the next five years, I wonder how opinions might shift overtime?

2 Likes

Yes to the benefits of technical naivete, @thinkrobert! If you’re putting the user first, and have a strong business case supporting your decision to add a difficult product feature, it can go a long way. (Hopefully the dev team will thank you later.)

1 Like

Hello @robert_furtado,

Let start by defining and understanding design in the first place and then we will move on to terms like UI and UX Design. Design is a problem-solving process, as you might have heard from the famous Steve Jobs qoute: “Design is not how it looks, but also how it works”.

Look at objects around you in real life like a water bottle, a tea pot, chair and ask yourself what problem does it solve? Is is really usable? If they dont solve any problem or are not usable, then thats either not a design at all and more like an art piece or a bad design.

Remember a time when you might have a liked a person based on how they look and approached them, but you ended up having a bad experience based on the conversation and the interaction you had with them, this is the very basic difference between UI and UX.

UI is the part which can subconsciously bias you and make you assume that you will have a good experience when you interact with that UI (product or people).

Whereas UX is entire experience, including any kind of interaction, which you have while interacting with a company’s products or services. Eg. Your experience about using Uber is not just based on using their mobile application UI, but is also based on how the driver talks to you.

Design is also a mindset. Often people start thinking of solutions first, even before knowing the right problem. This is what Design Thinking tells us to start first with empathizing with users and then moving on to solutions. Designers often start with understanding the problem at a deeper level at the first place and then later come up with ideas or solutions.

UX designer is the person in a company who is the advocate of users needs, similar to how a judge fights for his client in a court, designers fight for their users. The designer will take each design decision keeping in mind user personas and fight for it with the team

A UX designer in a company will also need to empathize with developers and business stakeholders and then design something which is desirable, viable and feasible.

Often companies ask for an individual who designs as well as develops, often these companies dont really know the value of design at the core. They just want a resource who can do everything for them and so that they would not need to spend more money on hiring another resource.

Coding is an added skill which a designer can have, but its not mandatory for a designer to know coding. Knowing about the development constraints can help you deal in a better way with developers.

There are tools like Adobe XD, Sketch etc help designers create interactive prototypes and we don’t really need to know HTML/CSS/ Javascript.

So, i feel its always better to have a design team which takes the responsibility of the experience and a development team which takes the responsibility of building the product, since both jobs require different mindsets and skillsets, so its better not to mix these two different roles.

Hope, this article gave you some more clarification on a UX Designer role in the industry and whether he/she should know coding languages :slight_smile:

I want to call on all UX designers to reply to every one of these “Designers should code” articles, comments and tweets with a simple “Should coders also design?” Whenever I bring it up, it ends right there

2 Likes

Brilliant!

If you’re a front-end developer you should understand design.

What’s next? Should UX researchers know how to create wireframes and prototypes?

I don’t understand why some people are so against learning new complimentary skills.

¯\_(ツ)_/¯

1 Like

The narrative being pout out there isn’t that designers could learn additional skills, it’s that designers SHOULD learn other ‘complimentary’ skills.
Lets look at this a little more. There is a massive difference between 'could’ code and ‘should’ code. I don’t think I need to pull up a dictionary to differentiate the two words.
Secondly, what is complimentary to design? Code? Yes. Business strategy? Yes. Art? Yes… anything can complement design if it really wanted to.
Where this argument gets tiring is that there is a preconceived notion that designers are so versatile and flexible they SHOULD do a lot of things. Why should they? I think this is unfair. Which is why when I reverse the question I hear crickets. Suddenly coders see the vast array of design methodologies, theories and tools they would need to be good at so that they SHOULD design. You get me?
Don’t get me wrong, I started my foray into design from being a developer many many years ago. I like getting my hands dirty with some code sometimes. But do I want to do it as part of my role as a designer? Heck no! Do i expect other designers to do the same? No. There are coders for that and thats it. Could we have hybrids and unicorns? Sure, in every indusry we have them but i wouldn’t expect every designer to feel anxious about learning how to code especially when they haven’t felt the need to ever in their lives.
Let’s just get real and drop this nonsense of 'complimentary skills and master what we love please.

1 Like

@ari_rahmati totally agree to your point :smiley:

I believe, this is majorly due to the lack of education about how UX designers adds value to a company.

Often people call design as common sense, but what they might not be realizing is that its not very common to have common sense (keeping users at center). This is also because most of the products in early 90’s were dominated by technological revolution which contributed to business majorly, but yes the recent realization of tech industry about User Experience is revolutionizing the end users experience and business.

Long way to go for User Experience Design :slight_smile:

1 Like