The imaginative programmer - Zed Shaw

Tags: django, djangocon, python

His goal: teach programmers to be more creative.

He’s got a love/hate relationship with creativity. The first part of his talk was impossible to summarize. You’ll have to watch the video later on :-)

  • Artists tell him he’s not artistic because he works on developing technical skills.

  • Guitarists tell him he’s not a real guitarist as he doesn’t play in a band. And ‘cause he builds his own guitars he’s a programmer, not a Real Guitarist.

  • Writers tell him he’s not a writer because he writes technical books.

  • Programmers tell him he’s not a programmer because he doesn’t work on their project. And by the way, he’s a (technical) writer now, so he’s not a programmer.

He’s not creative enough. Or so the others say. Or he’s not acceptable. How to deal with creativity? In a way, you can re-phrase creativity. Programmers are always making something from nothing, right? Isn’t that the pinnacle of creativity?

Here are four hypothetical persons:

  • Technique, no imagination: a stereotypical programmer.

  • Imagination, no technique: stereotypical biz dude.

  • No imagination, no technique. Probably doesn’t exist.

  • Both imagination and technique. Zed’s goal.

Zed’s imaginative programmer process. Everyone has a process (if they’re good), here’s the one he proposes to help you be more creative:

  • You start with an idea.

  • You establish a concept that helps form the idea. It gives your idea clothes.

  • Research techniques or tools. Do some research or you’ll pay for it later on.

  • Refine the concept through composition. So put a box around the vast world of available possibilities. Just mark which features are inside and outside the concept.

  • Explore through prototypes. Throw away code or use paper prototypes for instance. This saves you so much time later.

  • You make it real.

We are programmers, so we should iterate this process.

He tried this process with http://projectzorn.com/, going through all the stages. And he’s probably going to work on it during the sprints this weekend, so join him if you want.