How to be a Programmer

Button with Enter Code written next to it.

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

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: 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”?

Published by

Gareth Saunders

I’m Gareth J M Saunders, 52 years old, 6′ 4″, father of 3 boys (including twins). Enneagram type FOUR and introvert (INFP), I am a non-stipendiary priest in the Scottish Episcopal Church, I sing with the NYCGB alumni choir, play guitar, play mahjong, write, draw and laugh… Scrum master at Safeguard Global; latterly at Sky and Vision/Cegedim. Former web architect and agile project manager at the University of St Andrews and previously warden at Agnes Blackadder Hall.

2 thoughts on “How to be a Programmer”

  1. Ah, the good old Teleological Argument:

    Teleological arguments are arguments from the order in the universe to the existence of God. They are also known as arguments from design (or, to be precise, arguments to design).

    The name “the teleological argument” is derived from the Greek word telos, meaning end or purpose. When such arguments speak of the universe being ordered, they mean that it is ordered towards some end or purpose. The suggestion is that it is more plausible to suppose that the universe is so because it was created by an intelligent being in order to accomplish that purpose than it is to suppose that it is this way by chance. (From Philosophy of Religion dot info)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.