He starts by referring to Frederick P. Brooks’ now classic book on software development, The Mythical Man-Month, which describes the art of creating software as “Creating something out of nothing”.
As software developers Grosenbach thinks that we should learn from artists. One thing to learn is to delete the first attempt instead of trying to refactor it (quite the opposite from what Joel Spolsky preach in Things You Should Never Do, Part I. Geoffrey himself makes a new blog layout from scratch for every blog entry and thereby learns new techniques every time. But before even writing the code you should spend some time away from the computer and work on the problem, like sketching a database schema, sketching on the UI or sketching on the program flow. On paper.
Another important things to apart from writing code are to take naps (get enough sleep), laugh and get physical exercise. The time you take to reflect and think pays off in software quality. One example Grosenbach mentions is the engineer that finds the practical solution to Hubble space telescope’s blurry images when standing in the shower.
A practice in art that unfortunately hasn’t proved successful in software development yet is critique. By giving or receiving critique you are likely to become a better programmer, but critique of the code is often confused with that you think less of the person writing the code. It is especially hard to give critique of code when it isn’t done in person. One example of thorough critique given of code come from the Melbourne Railscamp in November 2009 where Github commits where used to comment the code and give suggestions of improvements.