Good design is more than just boxes and arrows
I get asked “should designers code?” more often than I feel like I should. The answer is yes. If you are an interaction designer, you should make interactive things. And if you design for the web, you should know web technology: html, css, and basic javascript. No one expects a designer to make a fully-functioning application, but you should be able to make a prototype that you can click through and evaluate. Learning basic markup and HTML is not as complicated as you think it is, and there are countless support materials for designers who want to learn how to use basic javascript.
Martymoo of All Trades
I don’t think this means that specialization is a bad thing, but being well versed in interaction design / HCI skills, basic graphic design, and basic prototyping will make you a better designer regardless of where your full-time focus is.
The follow-up question I always get after giving this response is “how do I get better at x?” The answer to this is deceptively simple: you get better at something by doing it over and over. My experience running the NYC marathon is the best practical example of this: if you run a little more every week, you’ll eventually run a marathon. You have to make time to pursue personal projects, and in that act as lead designer, visual designer, and implementer (my current project du jour is Stepchart, which is ever so slowly advancing). Even if you don’t finish you’ll learn far more than just trying out tutorials, and it will be fun because you’re actually doing something rather than just learning about it.
So designers: go forth and code! It will make you a better designer, and it’s not SO hard.

