📎 Webclip
The Parable of the Two Programmers
The parable compares two programmers working on the same kind of task under very different management styles. Alan is given a team, structured design, reports, modules, testing phases, and a long schedule. Charles works alone, appears idle for much of the time, and then delivers a short program that meets the specification with a few extra convenience features.
The sequel reverses the judgments made by their supervisors. Charles is seen as overpaid and underpromoted once the project looks simple in retrospect. Alan is praised, promoted, and rewarded after his team delivers a more complex-looking system, even though the finished program is hard to read and only partly meets the original requirements.
Reading notes#
- One company chooses a programmer-analyst and a team, then follows a structured design process with reports, analyses, coding, and interface discussions.
- The other company assigns a newly hired entry-level programmer who seems to spend time drinking coffee, playing Space Invaders, and scribbling on scraps of paper.
- Charles finishes first with a 500-line program that meets the specifications and includes a few extra convenience features.
- Alan’s team releases a preliminary version on schedule, but users find more bugs and deficiencies than expected.
- The final Automated version is about 2,500 lines, satisfies most specifications, omits some features, and is picky about input format.
- In the sequel, Charles’s supervisor concludes the project was much simpler than expected and does not promote him.
- Alan’s supervisor sees structured programming being followed, finds the program incomprehensible, and praises the project as more complex than he first thought.
- Charles gets a small raise, no promotion, and leaves after about a year.
- Alan receives a large raise and is promoted to Systems Analyst.
