In our third issue, we welcome some new writers and ask more questions than we answer.
If this issue has a theme, it’s software design.
There is no shortage of confident advice on how to design software, but does it all beg the fundamental question: Is software design even a rational process? Is software design really design, in the sense that automobile bodies and dresses are designed? Can code be beautiful, and if it can, is that an important goal to pursue, or just a frill?
These are some of the questions teased at by our authors in this issue. But they do more than tease.
To our great good fortune, Kent Beck (Mr. Extreme Programming himself) shares with us some of the insights he’s acquired over the years. But his reflections are altogether forward-looking as he begins a new project related to software design and lets us look over his shoulder as he maps it out.
Scott Davis (Groovy Recipes: Greasing the Wheels of Java) draws some thoughtful connections between music and code in an artful essay. Then David Koelle and Brian Tarbox go him one better and literally turn code into music. The ear’s answer to the eye’s way of understanding software, application visualization, is called application sonification. David and Brian use it to show you how you can listen to your code running for diagnostic purposes like an auto mechanic listening to an engine.
Chad Fowler applies system thinking to that most personal of jobs, the job of managing yourself, and comes up with some surprising conclusions.
In our regular departments and columns, Dave shares more inside info on how we do the things we do, Daniel celebrates the benefits of slacking off, John Shade makes a few more enemies, and I reminisce about programming challenges of the past, present, and future.
You may have detected in this list of writers a different balance between outside writers and authors you know from the Pragmatic Bookshelf. This is deliberate: we are widening our net. If you read into this an invitation to contribute, you are reading it right.