The Pragmatic Programmer
From Journeyman to Master
The Pragmatic Programmer: From Journeyman to Master
Andreas Hundt and Dieter Thomasson
Reviewed in The Civil Service Quarterly, Vol. 41, No. 3, Autumn 1999
Reviewer: Sir Humphrey Lamb, KCB, Permanent Secretary (Retired)
Hundt and Thomasson have written the manual that the civil service has needed and will not thank them for. The Pragmatic Programmer is a career guide for the mid-level public servant — the programmer, in their terminology, meaning the person who designs, schedules, and administers programmes — and its virtues are precisely the virtues it recommends: clarity, economy, and the willingness to name problems that most institutional literature prefers to leave unspoken.
The “programmer” of the title is not a technician. He is a generalist — the Grade 7 or Senior Executive Officer who sits between the policy-making heights and the operational depths, who translates ministerial ambition into departmental action, and who absorbs the friction of that translation as a professional obligation. Hundt and Thomasson understand that this person is the load-bearing element of any administration, that his work is largely invisible, and that his professional development is almost entirely neglected by the institutions he sustains. The book is an attempt to remedy this neglect. Whether it will be read by the people who most need it is another question; the people who most need it are, by definition, too busy administering programmes to read books about administering programmes.
I shall summarise the principal concepts.
DRY: Don’t Repeat Yourself
The first and most consequential principle is DRY: Don’t Repeat Yourself. In programme administration, this means: never issue the same directive twice. If a memorandum must be restated, the original memorandum was defective — unclear in its scope, ambiguous in its authority, or inadequately distributed. The restated memorandum does not correct the deficiency; it compounds it, because there are now two documents expressing the same intent in slightly different language, and every subsequent reader must determine which is authoritative.
The DRY principle extends beyond memoranda to policy itself. A programme whose operating procedures exist in three versions — the original specification, the revised guidance issued after the first year’s difficulties, and the informal practices that the field offices have developed in the absence of either — is a programme with a redundancy problem. Each version will diverge from the others over time, because each is maintained (or not maintained) by a different part of the organisation. The programmer’s task is to establish a single authoritative source and to retire the rest. This sounds simple. It is, in practice, the most politically dangerous activity in the civil service, because retiring a document means telling its author that his work is superfluous.
The Broken Window
Hundt and Thomasson borrow from criminological theory the concept of the broken window: a single unrepaired defect in a building signals that no one is in charge, that standards have lapsed, that further deterioration will go unnoticed. The application to government offices is immediate and depressing.
A broken window in a government building — literal or figurative — is a declaration that the institution has ceased to take itself seriously. The stained ceiling tile, the non-functional lift, the sign that says “Temporarily Out of Service” and has said so for nineteen months — each of these is a broken window, and each tells the civil servant who works beneath or beside it that his environment is not worth maintaining, which is a short step from the conclusion that his work is not worth doing carefully.
I have seen departments transformed by the repair of a window. Not metaphorically. I mean that a department whose morale had been declining for years was visibly improved by the replacement of a fluorescent tube in the corridor and the repair of a door handle in the conference room. The inference is uncomfortable: if institutional culture is this sensitive to its physical environment, then the neglect of that environment is not merely slovenly but actively corrosive. The programmer who ignores broken windows in his organisation is not being stoic. He is being negligent.
Rubber Duck Debugging
The most charming concept in the book is rubber duck debugging: the practice of explaining a stalled initiative to a rubber duck placed on one’s desk. The theory is that the act of articulating the problem — describing it aloud, in complete sentences, to an interlocutor who will not interrupt — forces a clarity that internal thought does not. The duck is essential because it does not respond. A human interlocutor would ask questions, offer suggestions, change the subject. The duck absorbs the explanation without distortion and returns it, through the mechanism of the speaker hearing his own words, in a form that is often diagnostic.
Hundt and Thomasson present this as an innovation. Senior civil servants have been doing it for decades, under the name “dictating to no one in particular,” and the discovery that this practice has been independently arrived at by programmers in the private sector is gratifying if unsurprising. The permanent secretary who closes his office door and begins “The difficulty with the Housing Benefit consolidation is that…” is not talking to himself. He is debugging.
Tracer Bullets
A tracer bullet is a small, expendable pilot programme fired into the bureaucratic darkness to illuminate what it hits. The tracer bullet is not the programme itself. It is a test — a minimal, low-cost, rapidly deployable version of the programme that reveals, before the full programme is committed, whether the institutional terrain will support it.
The value of the tracer bullet is negative information. A pilot programme that fails is not a wasted programme; it is a cheap discovery that the full programme would have failed expensively. The civil service’s institutional reluctance to pilot — its preference for comprehensive planning followed by comprehensive deployment — is, in Hundt and Thomasson’s analysis, a preference for expensive failure over cheap learning. They are correct, and the preference persists nonetheless, because a failed pilot is visible and a failed plan is diffuse. Nobody is blamed for a plan that fails slowly across fifteen departments. Somebody is blamed for a pilot that fails quickly in one.
Stone Soup
The Stone Soup technique — named after the folk tale in which a traveller induces an entire village to contribute to a pot of soup by beginning with nothing but a stone and hot water — is the art of building a programme from nothing by making the nothing look appetising.
The programmer who lacks resources to launch a full programme may instead launch a visible fraction of one: a single office, a single report, a single meeting series. The fraction must be chosen for its ability to attract contributors. A well-placed meeting series, attended by the right people and producing the right minutes, can generate more institutional momentum than a fully funded programme that nobody attends. The stone is the meeting. The soup is the programme that coalesces around it, as other departments contribute staff, budget, and attention — not because they were directed to, but because the meeting smelled good and they did not want to be left out.
I have seen this done well and done badly. Done well, it is the highest art of the civil servant: the creation of institutional reality from institutional nothing, through the application of patience and the exploitation of the universal fear of missing something. Done badly, it is a meeting that nobody attends, about a soup that nobody wants.
Boiling Frogs
The boiling frog is the complement to the broken window. Where the broken window describes a sudden, visible lapse in standards, the boiling frog describes a gradual, invisible accumulation of small regulatory impositions, procedural additions, and reporting requirements, each individually harmless and collectively paralysing.
Hundt and Thomasson observe that the experienced programmer develops an instinct for regulatory temperature — a sensitivity to the moment when the accumulation of small burdens has crossed the threshold from administrative friction to institutional paralysis. This instinct cannot be taught. It can only be developed through long exposure to institutions that have boiled their frogs and the melancholy experience of recognising the process only after the programme has ceased to function under its own accumulated weight.
The Knowledge Portfolio
The civil servant’s professional knowledge is a portfolio of depreciating assets. The regulations he mastered in 2003 have been amended. The organisational structure he navigated in 2010 has been reorganised. The forms he knew by number have been renumbered, consolidated, or replaced by electronic systems whose interfaces change quarterly. Hundt and Thomasson argue that the programmer must continuously invest in new knowledge — new regulations, new structures, new forms — or accept the gradual obsolescence of his professional competence.
This is sound advice and almost impossible to follow, because the institutions that demand continuous learning provide no time for it. The programmer who spends Tuesday afternoon reading the revised guidance on procurement thresholds is the programmer who did not process Tuesday afternoon’s submissions, and the submissions have a deadline while the guidance does not. The knowledge portfolio is invested in, if at all, on the programmer’s own time, which is to say: it is not invested in.
Conclusion
Hundt and Thomasson have written a book that is simultaneously practical and melancholy — practical because its advice is specific and actionable, melancholy because the specificity of the advice implies the depth of the need. A profession that required a book to tell it not to issue the same memorandum twice, to repair its broken windows, and to test its programmes before deploying them is a profession in some difficulty.
I recommend it without reservation to every civil servant below the rank of Deputy Secretary. Those above that rank are beyond help.
Sir Humphrey Lamb, KCB, served as Permanent Secretary at the Department for Administrative Affairs from 1984 to 1998. He now advises on institutional reform and writes occasionally for this journal, though not as often as the editors would like.