Michael Swaine is editor-at-large of DDJ and coeditor of this issue. He is also author of the recently released Dr. Dobb's Essential HyperTalk Handbook.
Usually, our creative efforts leave enough fat on the bone to hide what was done when. And even when you can see the skeleton through the skin, the chronology of presentation rarely matches the chronology of composition. Project schedules get worked out from back to front; programs get written from the top down; and magazines get put together from the inside out, from the outside in, or in the order in which the organs arrive at the lab.
Nevertheless, this last page is the last page; this particular bone of contention was the very coccyx of the corpus, the last piece put in place before we ordered Igor to throw the switch. This fact allows me to step alongside you to examine the body on the slab and to reflect on the deed the Doctor has done.
Frankly, we had some doubts about the concept of this issue. Software engineering was important enough, we knew, but in some ways the subject seemed alien to the Doctor's whole reason for being.
It was a very subjective hesitation, but put into words, I think our feelings would read something like this: DDJ is about tools for the individual programmer; it's a product of the computer revolution, which we can't help but feel is still going on. DDJ is about exploring frontiers, discovering new approaches to problems, even new problems. Software engineering, on the other hand, is all about programming teams, about control and management of complexity, about dealing efficiently with the aspects of computing that we already understand well. If DDJ is tinder, software engineering is CO[2].
Ultimately, we realized that distinction was just a runaway metaphor, like the Frankenstein figure I unleashed at the beginning of this piece.
Ultimately, we remembered that the typical DDJ reader is the true consumer of software engineering solutions. Regardless who actually buys them, software engineering tools are tools that have to help programmers.
That being the case, let me give a word of advice to all vendors of software engineering tools: Never underestimate the programmer. We've been providing tools to the best programmers for over a decade, and we've never been criticized for talking over their heads. These people are smart. They know what they need. They are unlikely to buy packaging over value.
Caveat vendor.