Imperfect memory is just one of the human conditions untangled in Gerald Weinberg’s The Psychology of Computer Programming. Fifty years after its initial publication, the book remains a goldmine of insight into the interactions between programmers, management, and of course computers themselves.
While examples written in PL/I and set in the common room of the university computing center are relics of an earlier age, the humans at the center of the story remain very much the same. Egos bruised, assumptions misplaced, bugs written, bucks passed—it’s all there, unfolding page by page like so many Dilbert comics on monotonous cubicle walls.
Beneath the missed deadlines and incompetent managers, however, are poignant investigations into root cause. The results aren’t always satisfying, but the analysis remains relevant. Fifty years since the book was published, and twenty years since the Agile Manifesto, reliable estimates are as elusive as ever. Hiring assessments remain subjective. And computers (despite decades of research in language design) still defy human intuition.
Perhaps Weinberg’s greatest contribution, however, is to place the programmer within the team ultimately doing the work. An exploration of the communication flows between teams and entire organizations leads to a far more practical analysis than a look at the (mythical) solo programmer in isolation. Non-trivial projects require teams, and the ambitions and interpersonal dynamics between team members and their managers provide some of the book’s most enduring observations.
Technology evolves much faster than we do. The Psychology of Computer Programming is a tale of human fallability and unintended consequences—and not always to our detriment. While the popular history of computing is a hero’s tail of singularly-focused programmers, too much predictability and rigor dampen creativity in an industry that remains as much art as science.
Tomlinson’s email proves it. “Don’t tell anyone!” he told a colleague. “This isn’t what we’re supposed to be working on.”