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, 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. logo

About me

My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.

Weblog feeds

Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):