Last week Luke and I attended Web Directions Code—two days of coding, geeking out, and connecting with other developers.
While I wouldn’t consider “writing code” to be a core skill for a UX designer (the topic does pop up every now and then, and usually results in much heated debate) there’s no denying the advantages that the ability to write even a small amount of code can bring to a designer.
I’ve captured my thoughts in this videoscribe as an experiment. Let me know what you think!
There’s really no reason not to at least learn some basic HTML and CSS. And with frameworks such as Twitter Bootstrap, being able to prototype a responsive design becomes achievable. Additionally, as libraries like jQuery become more refined and robust, the learning curve to adding transitions, animations and other interactions to your repertoire is much less steep than it once was.
Having an understanding and an appreciation for the technology that your solution will be built with means you can:
- communicate better with developers, by talking the same language
- be realistic when crafting your vision, and
- rapidly prototype ideas rather than be reliant on a developer to bring your ideas to fruition
Lochie Axon, our lucky newsletter subscriber who won a ticket to Web Directions Code (psst, there’s another awesome deal coming in tomorrow’s newsletter, but you have to be subscribed), agrees with me:
I believe that a UX designer should at least dabble in programming and ideally be able to hack together small examples of their thoughts. This also helps reduce misinterpretation between the UX designer and the developers. It’s about understanding the limitations in which you’re working. UX designers don’t necessarily need to code at an expert level, but it’s ideal for one to learn enough to establish an understanding and appreciation.
Of course, I’m not suggesting that all designers should become developers. Far from it. Server-side programming is another beast entirely. Sure, if you’re curious about learning a language like PHP, Rails or Python, it’s not going to be time wasted—learning a new skill rarely is. But the benefits of being able to program on the server side for a user experience designer aren’t as obvious.
Client-side coding, on the other hand, has immediate application. Getting your head around the 80% of HTML/CSS that bring the greatest benefit is reasonably straightforward, and the process of receiving immediate feedback is actually pretty fun (and, as Bret Victor argues, helps understanding in a big way).
Perhaps your idea requires some cutting-edge techniques that are beyond your grasp. Or maybe the client has requested that the site function consistently in older browsers as well as new ones, and there are some difficult cross-browser intricacies to navigate. In these cases, don’t spend hours spinning your wheels, trying to solve that elusive CSS bug. Leverage your team members’ expertise when you need to.
Tools such as Axure, Balsamiq Mockups and others have their place. But if all you want to do is to communicate an idea, do some user testing, or explore an interaction, you could do worse than learn how to create your prototype in the browser.
To finish, here are some sketchnotes that I created from some of the sessions at Web Directions Code. Enjoy!
How much coding do you think UX Designers should be able to do? What do you think of this videoscribe format? Let us know in the comments.