I see articles all the time saying that UX Designers absolutely must learn how to code; otherwise, you’ll soon be out of a job.
My opinion after actually learning to code? — You don’t need it. Not yet at least. But you still might want to learn, here’s why.
It can help you:
- Land a UX job, or get a better one — even if you don’t have a background in tech
- Make your life easier by giving you a common vocabulary to communicate with your more technical peers
- Be better at your job by having an understanding of the real constraints of your product and your team (in ways that other designers may not) so that you can design the best solution possible, quickly.
Let me explain.
My experience with learning to code
I didn’t learn to code because I thought I had to for UX. To be honest, I didn’t know UX even existed until 6 months after I started learning to code.
I started learning because it felt like a necessity.
I needed a better paying job, and my Psychology degree wasn’t helping me in that realm. I was disillusioned with the idea of grad school (my original plan), and Tech seemed like the light at the end of that tunnel. I thought that I could learn how to do some basic coding and grab a job as a web developer with the right portfolio — I was avoiding going back to school like the plague.
So I spent 30–40 hours per week for 6 months learning and building projects along the way. I went to meetups, built app prototypes, and took on projects for friends and family. At the end of it, I had a decently impressive portfolio.
I learned about UX
While looking into internships and bootcamps for Development, a few people suggested that I might already be a great fit for UX Design. After some googling, I realized they were right. I stopped coding altogether and started prepping for a career in UX. 6 months later, I had successfully made the transition to a top company and tripled my income as a UX Designer.
I haven’t touched code in almost 3 years now. So do I think it was a waste? Not at all.
Here’s why it’s been priceless to me.
Benefits of Learning to Code…When You Don’t Actually Need to Code
1. Landing a job in UX — or getting a better one
To be honest, I don’t think I would have ended up at a top company right away without the knowledge and portfolio I gained from my experience learning to code. I’d had a pretty good understanding of human psychology and research before that, but I didn't have any idea of what went into creating software. So how could I have sold someone on letting me help create it?
The projects I created while I was learning to code were some of the projects that I got to showcase in my interviews. I brought an entire room of Senior UX Designers through projects I’d researched, designed, done user testing on, and coded on my own. It was fun to talk about and showed my dedication, interest, and ability to learn.
Since not everyone learns to code, you set yourself apart when you decide to. You get to showcase that you bring more than one specific skill-set to the table, and that makes you more valuable to your potential team. Hiring managers will take note…whether you’re looking to break into the field or hop to a better job within the industry.
2. It makes communicating at work much easier
When you learn to code, you’re going to a learn a ton of new concepts and vocabulary words to go along with it. Sure, you can learn some of this through explanation over time from your peers, but there’s nothing like struggling through projects on your own to really drive home those lessons.
“In the end we retain from our studies only that which we practically apply.” — Johann Wolfgang Von Goethe
When you learn to code, you put yourself in your developers shoes and learn to think like them — which also means you’ll be able to intuitively talk with them in the language they’re used to operating in every day. I learned to get into another frame of mind, and can now easily flip between them. From design, to implementation.
Before learning to code I had no idea how micro-services interacted, how CSS inheritance and specificity might affect child elements, or how asynchronous functions effected performance…all things that have been beneficial to me since coming onboard.
I didn’t need to know any of this in my new role as a designer, but I’ve been able to communicate ideas and problems with my team, and they’ve been able to do the same. Together, we’re an unstoppable team.
3. You’ll be better at your job
Once you’ve got that shared foundation to communicate with your team, you can use that to start creating better designs more quickly.
To deliver good designs, you can’t only keep your business needs in mind. You also have to understand the constraints you’ll be designing within, and the edge-cases you’ll be designing for. When you know how it’s made, you can keep those in mind as you’re designing from the very beginning rather than delivering something that your devs will have to constantly work around.
Sofware designed badly is costly in time and money.
“If you think education is expensive, try estimating the cost of ignorance.”
— Howard Gardner
You can mitigate a lot of this by being involved early with your developers in fleshing out the technical constraints, taking the time to understand how your system works, and knowing what the final components used in development can be pushed to do if need be.
By having a deeper understanding of everything at play in your product, you’ll be able to come up with creative solutions that you can actually implement. You won’t have to call meetings as often to “make sure it’s possible”, because you’ll already know. It will still happen from time to time, but you’ll have the basics down on your own.
Because of my experience with coding, I generally know what will take a large amount of dev effort in my proposed designs, and what’s a small ask. I can prioritize the pieces accordingly, and not waste time. That means we can focus on developing what’s going to give the best return for the user experience with the scope that we’re given.
When you understand their job and how your devs get it done, you’ll be able to deliver your designs in the amount of detail they need from your own experience, ask intelligent questions, and even be able to ideate with them on solutions to problems that they encounter during development. This all makes your life a lot easier as a designer.
So should you learn to code?
That depends on where you’re at and what you need. Does it make your life at work easier? Absolutely. Is it a huge undertaking? It can be. So you have to decide whether it’s worth it in your situation, and how deep you want to go.
You should learn to code as a UX Designer if you’re doing it to make your job easier and your designs better, not if you’re hoping to outdo your development team.
I’d highly suggest learning the basics for those hoping to transition to UX from a non-technical background. Having a common foundation to work with my team has meant one less barrier to integrating into a new career seamlessly.
Is it something that’s quick and easy to learn? Maybe for some…but it wasn’t for me. I gained so much from it though, and proved that I really can learn anything I set my mind to, and that’s been a reward in itself.
“Develop a passion for learning. If you do, you will never cease to grow.” — Anthony D’Angelo
Want more interesting and honest content? Sign up here to keep in contact.