If you’ve started a life in UX design, or thought about it, if you’ve read the internet and thought “I should get in on this thing”, wondered about Instagram, Snapchat and so many other huge internet business and thought “I should really get in on this thing”…
If I want to be a great UX designer, should I learn to code?!
You know that there are jobs for people who know how to code, and that people who code write the internet, apps and just about everything else we use, like, all the time. You might have seen books with titles like “Program or Be Programmed” which is a seriously scary title. I guess I should learn to program/code? I don’t want to be *programmed*!
Should I make my own Cheese?
I liken this question of coding to the idea of making cheese. I’ve made my own cheese, so stay with me on this.
“Do I have to make my own cheese to be a great chef?”
Let’s think about that for a minute. Making great food takes great care. And we all respect people who go the extra mile, who dig deep, who source local, or roll their own. A bar that makes their own bitters? I’m all in. A taqueria that pickles it’s own onions? Awesome. But does that taqueria make it’s own queso? Maaaaybe? If they *really* *really* care about food?
Like I said, I’ve made my own cheese, and it’s given me a lot of respect for cheese makers and milk. It takes a lot of milk to make cheese! I can make some edible cheese, but I don’t have the skill, equipment or patience to knock out an amazing cheddar or brie. I was proud of my cheese efforts, they give me some cred…but I can make an amazing meal that other can enjoy while leveraging the cheese-making skills of others.
So…do I have to make my own cheese oe be a legit master chef…Or do I just have to know how to work with the cheese others have made for me?
What *is* code?
Fred Wilson, blockbuster VC, thinks we should be coding if we want to be starting things:
A few years ago, I was doing some sort of public speaking thing and during the Q&A, a young man asked me for advice for founders who aren’t technical. I said, “If you aren’t technical, I suggest you get technical.” And I meant it. I learned to code when I was a teenager. It wasn’t that hard. I think anyone who has the motivation to start a company can find the motivation to learn to code.
But what is code? Paul Ford wrote 38,000 words on that recently, and I can’t beat him on this topic. I’ll wait here while you read it.
And yeah, if you want to hack some sweet internet magic together, coding can make that magic into a real thing fast. But the idea wasn’t code. That guy already knew that people wanted amazing flight deals and was able to validate that people would pay for a text notification of such deals using nothing more than email and a paypal link.
So Coding and UX are two different things?
Yes. This is exactly what I’m saying. Being a great chef means *respecting* and understanding all sorts of ingredients, not necessarily making all of them. A great UX designer understands and respects code. They may even know how to muck about with it, make a “code salad” with ingredients that others grown and built. If you want to do UX for other people, they will (or should?) have someone who will code things. And you should respect and understand what your code people are doing. Again, Fred Wilson:
Another great reason to “get technical” is so that you can work better with technical people. If you understand at least some of what they are doing, if you can look at their work product (the code) and understand what it is doing, if you can pick up a ticket and contribute when time is tight, then you will be seen as part of the team. And that is critical.
If you want to hang with the people who make some of the magic happen, you should understand their magic and be able to play with them nicely. But you should also know and hone your own magic. UX design, thinking about flow, balancing desirability and business needs, understanding technical constraints…they’re all interrelated, intertwingled.
If you want to do UX for yourself, focus on the idea, the user and the mental model of the thing. Validate it with paper prototypes. Make a fake landing page. Strap it together with internet tape, ie, Zapier. Leave the code for the second round.
I can never make cheese as well as a master cheese maker. And a master cheese maker might make a great meal, but is rarely also a master chef. So ask yourself – which thing do I wish to be excellent at? User experience design is a *real* and *separate* discipline from coding. Code is often the *means* by which that experience is delivered and mediated, but we should never confuse the two.