software craftsmanship

The Deleted Code

A developer deleted three hundred lines that no one was using. The build broke in production. The senior developer asked, “Was the code being used?” “Yes, but by no one we knew.” “Then who was the user?” Beyond the Surface Every codebase holds ghosts. Functions nobody remembers writing. Modules that show up in no roadmap, […]

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 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 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 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 […]

The Technical Debt

“We must pay down this debt!” declared the team lead. The senior developer asked, “If you pay it all, what will you owe then?” And, “Who is the creditor of technical debt?” Reflections We speak of technical debt as if it were a financial obligation, complete with interest rates and creditors waiting impatiently for payment. […]