The TODO Comment

A developer added a comment: // TODO: fix this later. Five years later, the comment was still there. The developer had left the company. The code worked. The senior developer asked the team, “Whose TODO is this now?” No one answered. The senior added, “And what does it mean to fix something that does not […]

The Rewrite

A team declared the old system unmaintainable and began a complete rewrite. Two years later, they shipped. Within months, developers were calling the new system unmaintainable. The senior developer mused, “If the disease followed us, perhaps we did not leave it behind.” Then: “What did we rewrite, the code or ourselves?” The Teaching Unfolds There […]

The Linter

The linter flagged two hundred warnings in the legacy file. A developer set out to fix them all. The senior developer watched. After an hour, the senior asked, “Has the code become better?” “It has become quieter.” “Are those the same thing?” Sitting with the Koan There is something deeply satisfying about a clean linter […]

The Estimate

The product owner asked, “How long will this take?” The developer answered, “Three days.” It took three weeks. The senior developer asked, “Was your estimate wrong?” “Yes.” “Was the work wrong?” “No.” “Then what was being measured?” Sitting with the Koan Every developer has lived this koan. The estimate was wrong. The work was not. […]

The Hotfix at Midnight

The site was down. A developer pushed a one-line change directly to production. The next morning, the senior developer asked, “Did the fix work?” “Yes.” “Do you remember what you changed?” The developer paused, then opened the commit. They did not recognize their own hands. Sitting with the Koan There is a particular kind of […]

The Documentation

A developer wrote thorough documentation for their service. Years later, the service had changed entirely, but the documentation remained. The senior developer found a junior reading it earnestly. “What are you learning?” they asked. “How the service works.” “You are learning how it once worked. Is that the same thing?” The junior closed the document […]

The Standup

Each morning the team gathered to speak of yesterday, today, and blockers. A new developer asked the senior, “Why do we do this every day?” The senior replied, “So that we remember we are not alone.” The developer asked, “But I am blocked by nothing and working on the same thing as yesterday.” The senior […]

The Forgotten Variable

A developer declared a variable called temp and moved on. Six months later, another developer found it still there, holding something important. The senior developer was asked, “Should we rename it?” The senior replied, “What is more permanent than that which was meant to be temporary?” The Teaching Unfolds We have all written temp. We […]

The Pull Request

A developer opened a pull request and waited. Three days passed. The senior developer found them at their desk, refreshing the page. “What are you waiting for?” the senior asked. “For someone to review my work.” “And while you wait, what is your work doing?” The developer paused. “Nothing.” The senior nodded. “Then what was […]

The Stack Trace

A junior developer ran the program, and a stack trace fifty lines deep appeared. The junior cried, “There are so many places where this went wrong!” The senior developer asked, “Did the error happen in fifty places, or in one?” The junior pointed to the topmost line. The senior smiled. “And from where did that […]