Josh Seiden provides a good response to the argument that designers should avoid coding. He also articulates some of the reasons why it is advantageous for digital designers to incorporate code into their workflow.
(the) argument–that designers shouldn’t be coders–is based on a fundamental insight that I find compelling: if you are paying attention to how a software system will be built, you will be influenced by that need; if you don’t do something to counter that influence, you will end up with software designed around what Alan Cooper calls the “implementation model.”
We should be mature enough to throw out ideas that are unduly influenced by the system model.
The difference for me is that more good product comes from this workflow (desingers working with code). In my experience, having designers in control of the presentation layer results in a presentation that more closely conforms to the designer’s intent. I imagine that most designers would think that’s a good thing.
I firmly believe the deeper a designer understands their medium the better their designs can be. Nobody would argue that a deeper understanding of paper, inks and the printing process enables better print designs. The equivalent for UX and interaction design is understanding code and the specific technology platform you are designing for (web, iOS, Android, Mac, Windows, etc). The key is to understand the platform without forgetting the user. I'll have more to say on this topic in a future post.