By Jeff Gainer
(Author's note: This essay appeared in the 5 January 2000 issue of Cutter IT Journal E-Mail Advisor.)
Recently, while shuffling my office library from old bookshelves to new, I came across an
almost forgotten book about software development. Published in 1979 by Microsoft Press, Programmers
at Work borrows a metaphorical page from the Paris Review
series Writers at Work. Reading most of the Paris
Review interviews was part of my education as a writer. The interviews demystify the process of creation;
writers discuss the genesis of a work of poetry or fiction, why they wanted to be writers in the first place, whether
they write with a pencil, typewriter, or pen. Most, I learned, keep regular working hours, writing whether they
feel inspired or not. Hemingway usually wrote standing up, balancing his typewriter on top of a bookcase. Gore
Vidal reports his workday begins with "...coffee and a bowel movement. Then I am visited by the Muse."
Looking over Programmers at Work,
I was again struck by the similarities of the mostly solitary work of creating program code and writing poetry
or prose. In Programmers at Work, Charles Simonyi ruminates
on whether programming is art, science, or craft. Bill Gates and Jef Raskin discuss the future of software, operating
systems, and user interfaces. And a lunch-hour pizza, I learned, inspired Pac-Man.
I recently celebrated my silver anniversary as a writer; conversely, I have been an IT professional
for only 15 years. As an undergraduate, I majored in the liberal arts, where, contrary to urban legend, we were
not instructed how to say, "You want fries with that?" We learned to write quickly and accurately, and
above all, how to think on our feet - or on our typewriters.
Our journalism exams usually consisted of being given raw material (wire-service copy, notes,
snippets of film or videotape) from which we were required to produce broadcast-quality copy within a rigid time
frame. Near the deadline, the professor, who had obviously learned from the real world of network news, would burst
into the room, waving some wire copy and a reel of film, shouting, "News flash! News flash! The Prime Minister
of Chumbawumba has just been assassinated! There are tanks in the streets and rumors of a coup..." Broadcast
deadlines were, the lesson reminded us, inviolable and absolutely non-negotiable. Daunted, we rearranged our newscasts
for the updated Big Story. Often, after we had incorporated the Chumbawumba coup into our lineup and seconds before
the deadline, he would return, shouting "Bulletin from the National Weather Service -- chance of a blizzard
tonight!" With our final minutes, we had to decide how and when to incorporate the possible blizzard, whether
to save it for the weather forecast or lead with the possibility of a disastrous snowstorm..
Never have I heard a software instructor (except me) assign a task to a group of students,
and near the deadline for the exercise, return to the room screeching "Stop what you're doing. We just got
a new requirement from marketing!" It doesn’t happen in the classroom very often, but it happens all too often
in the real world.
Another disturbing dissimilarity I have noted is that writers learn from carefully studying
the works of others and, later, having one’s own work dissected. The exhaustive line-by-line examinations of my
student essays and the works of Byron, Joyce, and Melville were never repeated to the same degree in the software
world. Some organizations encourage or enforce walkthroughs and reviews, but all too few do so as a matter of course.
But the most important lesson I learned as a writer was that one becomes a writer by writing:
writing words and more words and still more, then throwing it all away and writing again. Balzac, I believe, said
that one does not become a writer until he has written and discarded a million words. I served this apprenticeship
early on, writing my first million words before age 16, and only later being paid to write. Conversely, some of
the first lines of code I wrote 15 years ago
are still in production.
Programmers at Work was intended
to be an ongoing series, as Writers at Work is today.
Sadly, only one volume was published. Apparently, the software industry did not share Microsoft Press’s enthusiasm
for analysis and unhurried reflection. Instead, we write millions of lines of throwaway code and, without reflection,
place it into production.
# # #
(c)1999 Cutter Information Corp. All rights reserved. This article has been reprinted with
the permission of the publisher, Cutter Information Corp., provider information resources for IT professionals
worldwide.
This article originally appeared in the Cutter IT E-Mail Advisor, January 5, 2000, a supplement to Cutter IT Journal.
www.cutter.com/itjournal//