I can’t remember how I stumbled on this essay “How to be a Programmer: A Short, Comprehensive, and Personal Summary“, but it was probably via Digg.com.
I’ve not yet had the change to read it through fully, but I have printed it to PDF so that I can access it at a later date, and on my Psion if I want. It really is worth a read.
Debugging is the cornerstone of being a programmer. The first meaning of the verb to debug is to remove errors, but the meaning that really matters is to see into the execution of a program by examining it. A programmer that cannot debug effectively is blind.
In some ways it reminds me a little of a book that my friend Bernard recommended many years ago: Code Complete by Steve McConnell.
Code Complete is now in its second edition, and has its own website: www.cc2e.com where you can download sample chapters and example code.
The book is packed with examples of good practice, and tips galore. Back when I was spending more time programming my Psions in OPL I found little tips like prefixing all my global variables with a lower-case ‘g’ really useful, eg
gHighScore. It meant that at a glance I could tell whether a particular variable in a procedure was local or global. Simple, obvious, and quite beautiful.
There have been plenty of examples of good behaviour that I’ve been able to incorporate into my web design practices, such as the importance of planning and designing before building, and techniques for self-documenting the code. I even managed to squeeze a sermon out of a one chapter a few years ago: comparing our faith to software development. Sometimes a piece of code says do x, y and then z regardless of what else is going on at the time; at other times the code depends on where it is, and what else has happened. Sometimes our faith is like that too, sometimes we’re in a different place when God comes a visitin’ again.
The day that I preached that sermon there was a visiting computer programmer from Texas in the congregation in Inverness. I was blessed by that, and if I remember correctly the comments that I got at the West Door as people were leaving he was about the only person who fully understood that particular metaphor that day. But then God is like that sometimes: sometimes part of the message is tailor-made for that one person.
I wonder if I can get a sermon out of “How to be a Programmer”?