More on creativity. While taking a shower yesterday I thought about chefs. Chefs invent new dishes and they reproduce those dishes. Two separate activities. Are there other examples of this? I can’t think of any, but then it’s six in the morning.

Of course, architects invent ideas for new buildings, make plans, and then execute those plans. (I know some architects are very much a part of the execution of the plan, but I also have the feeling that some architects leave the project as it goes into construction; but I don’t know how common that is.)

For software developers, inventing and implementing are generally intertwined. Invent a little, implement a little, repeat.

It seems to me that chefs are very creative about their process as well. This is obviously due to the fact that they work under time pressure, reproducing those dishes that the guests order. But what relevance has the fact that they work in reproduce mode to a far greater extent than in create mode?

Software developers seldom seem to want to improve their process. I’ve seen so many developers (and project managers) that seem happy to follow a process that’s clearly doesn’t work well.

Now, software developers, although they don’t work within such short timeframes as chefs, do work under time pressure. But there aren’t any distinct boundaries between creating and reproducing (executing, implementing).

Creating is problem solving. Chefs surely are faced with problems to solve when in reproduce mode, but I guess that the options generally are pretty obvious, and that they can’t dwell on the decision too long, so in a sense it’s nearly as important to make a decision than to make the right one. So it’s a different type of problem solving.

Software developers, on the other hand, solve problems most of the time. They spend far more time in create mode than in reproduce mode. Or, rather, they have a single mode that is a strange mix.

What I mean is that perhaps chefs have room to be creative (solve problems) about their process, because in reproduce mode they aren’t engaged in problem solving as when they are inventing new dishes. And they have to make their kitchens efficient, to be able to serve food in a timely manner. Whereas software developers solve software problems all the time, and can’t bear to solve process problems as well.

To put it differently, chefs work in two different constrained universes of expression: one where they invent new dishes, and one where they reproduce dishes, but excel in getting more efficient in doing so. Software developers work in one such universe which it’s only about delivering functionality – and this universe seldom contain “improving the process (for efficiency)” and “improving the design (for sustainability)”.

The above was posted to my personal weblog on July 31, 2003. My name is Peter Lindberg and I am a thirtysomething software developer and dad living in Stockholm, Sweden. Here, you’ll find posts in English and Swedish about whatever happens to interest me for the moment.


Related posts:

Posted around the same time:

The seven most recent posts:

  1. Tesugen Replaced (October 7)
  2. My Year of MacBook Troubles (May 16)
  3. Tesugen Turns Five (March 21)
  4. Gustaf Nordenskiöld om keramik kontra kläddesign (December 10, 2006)
  5. Se till att ha två buffertar för oförutsedda utgifter (October 30, 2006)
  6. Bra tips för den som vill börja fondspara (October 7, 2006)
  7. Light-Hearted Parenting Tips (September 16, 2006)