A debate that I see pop up every so often is “should designers know how to code“. If you Google that, you can read all the blog posts for both sides. Here’s my answer to that question:

Why not?

I know, it’s such a cop-out answer. But really, it’s up to a designer to decide if he should or not. Do you want to learn new stuff? Do you want to keep up with technologies? Do you want to understand how developers are going to implement your design? Do you want to understand the platform for which you’re designing? If you answer yes to all these, then yes, you should learn some code!

Being able to prototype designs in HTML and CSS (even if your final product isn’t a website) helps you to understand your designs better than static Photoshop mockups. Adding interaction with Javascript makes it even better. Prototyping your designs, whether in HTML or Flash or even Java, is so useful because it allows you to see your designs in action and help you iterate on changes if necessary. Of course, I don’t expect every designer out there to go learn Java or Xcode or whatever other language, but if you can and would like to, then do it!

One argument that I’ve seen (and actually heard at work) is that designers should provide the best-looking design possible and not think about whether it actually can be built (because that’s the developers’ job to figure out) and that if a designer knows his limitations, he won’t be able to create truly ground-breaking designs. I’m guessing that those people are huge fans of Frank Gehry. Frank Gehry is the architect behind such amazing buildings as the Stata Center at MIT and the Guggenheim Museum in Bilbao, and the Disney Concert Hall in LA. Gehry really pushes the envelope in coming up with ways to mold building materials into organic shapes that aren’t typically done in construction. I saw some photos of his design process, where he actually made sculptures out of pieces of paper which were then 3d-scanned to figure out how they could be constructed. This process was even joked about on the Simpsons! I admit that it is refreshing to see such creativity in architecture, but there should also be a balance between what looks cool and what is functional, otherwise you may end up with a hard time constructing it right and a lawsuit on your hands. I’m not saying we should just be boring and only design what we know is possible. I think the more we learn about what is possible can help us to create designs that are not only interesting, but actually work.

There are a couple of arguments (here and here) against designers who code that are, interestingly enough, written by people who are actually designers that code. It makes me wonder if people are pushing others away from doing something that they have seemed to specialize in doing, in order to make themselves more special. I think if you are a successful designer who codes, you should encourage others to do the same. If people can learn to do both and be good at it, why discourage anyone from trying? I happen to be a designer who knows some code (although, it’s still to be determined if I’m successful at it :P), and I highly encourage any designer out there to at least learn HTML/CSS/JS…you won’t regret it. It’s much easier as a designer to learn the basics of coding rather than to be a coder trying to learn the basics of design.

There is really only one downside to being a designer that can code (and it’s not that you’ll dilute your ability to design, that’s ridiculous), but I’ll leave that for next time.