Helping programmers become designers

Sustainable web and other virtual design requires flexible teams who know each other’s tasks and can implement a rapid prototyping strategy for site development. In order for designers to create sustainable design, they have to understand the nitty-gritty of how websites work at the code and infrastructure level, lest they design something that looks great in Photoshop but crawls on the web. But programmers have to reciprocate. A programmer without insight into design can’t really optimize a website. At best, they can ‘streamline a hummer’ – make tweaks in the site without questioning why the site burns so many cpu cycles in the first place.

The way for this to happen is, frankly, for coders to practice design and learn about. Just like programming, design requires lots of effort to do it at a professional level. However, this is definitely possible. The proof is the increasing number of developer websites that show good design, both in a visual layout and art direction sense, and a UX user interface way.

How can developers learn design? Here’s a podcast that may point the way:

Another great resource is the classic book “Universal Principles of Design“, on Amazon:

Reading this book, developers will see that the image of a designer as a “flaky creative” is unjustified, and that there are useful rules and guidelines to design – it isn’t just artistic fluff. Many of the principles (e.g. “closure”) in design aren’t so different from their meaning in programming. Ultimately, both design and (effective) programming have features grounded in the real world and even biology.

Here’s another example, written by a programmer, realizing that many features of design and programming (e.g. being neat and exact about what you are doing) are similar:

But the best way for developers to learn design is to learn the process. Artists don’t just sit down and “create” – they go through steps. A typical website, after having its features and audience defined, is created in a series of increasingly detailed layouts and interactive storyboards. You don’t have to be an artist to learn these design steps – in fact, these are the things that UX people, most of whom are not fine artists, do on a daily basis.

What is the result? If a developer understands design, they will be able to “flag” cases where an the problem is not inefficiency, but a bad design that requires an inefficient developer solution. Their input can send everyone back to re-think their early design decisions. And the final design will be efficient, not just a streamlined SUV. It’s all good!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.