I finally got around to reading Jon Kolko’s post, Code is material: why designers must learn to code, which has been sitting in my Safari reading list since he wrote it back in June. If you’ve been reading my own posts here, or attended my talk, Working with Developers for Fun and Profit, you already know that I am in complete agreement with Jon. Go read his article, and don’t miss the comments by Matt Nish-Lapidus and Ryan Betts.
Rather than simply echoing their opinions, however, I’m inspired to make a related point in answer to Carl’s comment:
It seems many interaction design programs don’t teach designers how to code… arguably, they don’t teach designers how to engage in materials more generally.
Yes, designers who work on software should learn how to code. However, I would argue that design schools should not be teaching designers how to code—not directly. I can see value in Jon’s metaphor: code as clay. Claiming code as a material definitely has some merit. However, I tend to think of code more as a tool than a material. There are many tools to choose from, and tools come and go as technology marches inexorably on. Time spent teaching tools, while not necessarily a waste, is certainly less valuable over time than time spent teaching design itself.
During my senior year, I decided my final project would be an “interactive, multimedia work”. I and two of my classmates were the first students in the history of the program to do what I would later term Interaction Design projects. To do so, I had to learn Macromedia Director, a tool that we had just acquired. More than that, I had to learn the Lingo scripting language. The professors didn’t know how to do it. It was completely up to me to put in the time and effort to master the tools. It was my professors’ responsibility to advise and critique my design decisions. It’s been a long time since I’ve done any work in Director, and I’m afraid I would have a hard time making changes to my Lingo scripts. The knowledge I gained from my professors, however, is still just as applicable to the work I’m doing today as it was then.
There’s already more to be taught in design school than there is time to teach. If a student really wants instruction in programming, they should seek out such a course as an elective. There are much more important things to spend valuable class time on.