Friday, July 6, 2007

The Passion of Programming

Sometimes I think back to high school and University where programming was a passion. In my kit full of mediocre skills programming stood out as something I was good at and something I had a passion for. It's interesting to reflect on this today when I am asking programmers to be professional, to document their work properly and to follow the standards. There is passion amongst some of them. Sometimes this is detrimental and results in religious wars on technical ideologies but by and large there is not enough passion about the work. It's not like any other job. As a programmer you are building something unique every day.

I used to liken programming to building castles out of air. You create something useful from nothing except logic. It is not quite like that any more. Perhaps it never was. After all you usually needs a big computer, a powerful compiler, some noisy printers and dare I recall, stacks of punched cards and a card reader. This things faded into the environment and what really matter was logic. You seem to need much more to get started these days. Application servers, database servers, browsers, virtual machines and libraries of standard routines, classes and services. A good SOA approach is one that assembles and application from a catalogue of pre-fabricated parts. We do not building castle from air any more we are putting together with prefabricated walls, floors and ceilings, and then furnishing it using IKEA.

This is of course a good thing. We want to be able reuse what we develop and do not want to reinvent the wheel every time we build something new. The art has changed but the skill is still required, and so I hope the passion remains for many.

Like the components the human resource have also changed. There seems to be more specialties than before. I used to work for small organisations that did not really distinguish between programmers, designer and analysts. Now we can't get by without a DBA, a configuration manager, web designers, an application server specialist and a host of architects, test professionals and user support personnel.

Footnote:

Alas! "Building Castles out of Air" was not my original work. It has been bouncing around in my brain for many years first seeded there by a classic in the IT literature. After writing this blog I found the following quote from Fred Brooks' "The Mythical Man-Month". He writes it better than I.

"The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination."

http://www.wordyard.com/2006/10/02/mythical-man-month/

No comments: