Why Designers Should Learn to Write Code
Writing good code is hard work. It takes years of practice and study to become a proficient software developer and those that master the craft are rewarded for their efforts. But we’re web designers—you know, pixel pushers—why should we worry about what’s going on behind the scenes? We just make the front-end look good, right? Well, not exactly.
For the past month or so I’ve been working with a client to develop a system for building and deploying online courseware. After spending a few weeks writing design documents we decided that building a functional prototype would be a better way to show the different groups involved how we wanted the system to look, feel and work. I decided to to build the prototype using web standards (XHTML, CSS, Javascript) and then add some functionality using PHP. The end result was not only an interface design, but a quickie web application that different stakeholders could actually get their hands on and play with. Now, was my PHP beautiful, object-oriented, production-ready code? Not even close. But it worked, and it allowed us the freedom to iterate through different ideas without committing vast resources to software development.
Having a working knowledge of PHP allowed me to take a simple web interface and turn it in to something that expressed and overall concept for the project. Instead of having my client read through pages of design documents, I was able to show them my ideas in a working application. And, in the end, most of that code will get thrown away (as it should)—but the questions that we’ll answer and the problems that we’ll solve by being able to use a working prototype will make the end result that much better.
So as a designer, how much code do you find yourself writing? Also, if your a programmer, how do you feel about interface designers crossing over to your world now and again?
Jeff Doppke
Good post. Interesting enough I was looking over a related post at the web designer depot.
I completely agree about learning to code. I think if you’re specifically talking about web development, both sides, client/server, should know a little about the other. I think it helps them relate and really understand what’s going on and why. I am trying to pick up some PHP and Ruby/RoR just to help myself see how things tie in with the server-side of web development.
Not sure I agree about throwing away the code that you developed for a working prototype. I think I would just archive it somewhere for future reference, unless there is a valid (security/legal) reason to toss it.
Jeff Siarto
@Jeff Doppke
Thanks for the link to the related article. I was going to touch on the fact that knowing how to code just makes your XHTML and CSS better all around, aside from learning a little bit of server side development. As far as throwing code away—what I meant was that the code I write for prototypes is far from production ready and usually needs to be rewritten in a more appropriate form (more secure, object-oriented).