How to Accidentally Destroy a Codebase (A Step-by-Step Guide) - Mariami Tsotsolashvili

How to Accidentally Destroy a Codebase (A Step-by-Step Guide) - Mariami Tsotsolashvili

🎙 Mariami Tsotsolashvili 👥 230K 📅 October 13, 2026 ⏱ 35 min 👁 45 📄 tutorial 🧭 2026-10-13
Available in: English (current) Français

Keywords

codebaseanti-patternsAngulartechnical debtrefactoring

Summary

In this NDC Oslo talk, senior engineer Mariami Tsotsolashvili presents a live demonstration of how a small Angular to-do application can be progressively ruined by well-intentioned but misguided software engineering decisions. Over six steps, she introduces a quick fix for urgent tasks, premature abstraction, ineffective caching, manual change detection, boolean flag explosion, and an over-engineered layered architecture. Each step compiles and functions, but the code becomes increasingly complex and fragile. She then rewinds each decision, offering smaller, healthier alternatives based on principles like the rule of three, avoiding magic values, trusting the framework’s built-in optimizations, using discriminated unions, and questioning the necessity of architectural layers. The talk concludes with a checklist of five questions to ask before making a change, such as whether you are solving a real problem or guessing, and whether you are fixing the cause or silencing symptoms. The overall lesson is that codebase decay is gradual and often results from everyday decisions, and recognizing the tipping point from productive speed to future pain is crucial for maintainable software.

172 words

Critical Evaluation

Value of the Information & Strength of the Argument

The talk’s value lies in its practical, live demonstration of how seemingly reasonable choices accumulate into a tangled, hard-to-maintain codebase. The speaker effectively illustrates each anti-pattern with real code, showing the step-by-step rationale that makes each decision appear logical at the time. Her argumentation is solid: she contrasts the initial clean state with the final bloated state, highlighting the increase in files, lines of code, and the emergence of subtle bugs. The alternatives she proposes are pragmatic and grounded in well-known engineering principles, such as the rule of three and the avoidance of premature abstraction. She also emphasizes the importance of measuring before optimizing and addressing root causes rather than symptoms. The presentation is engaging and humorous, which helps reinforce the message without sacrificing technical depth.

Scientific Rigor, Source Quality, Title Accuracy

The talk does not cite formal academic sources, relying instead on the speaker’s professional experience and widely recognized software engineering practices. The NDC conference platform adds credibility, and the two provided links in the description (ndcconferences.com and ndcoslo.com) are conference websites, not specific references. The title accurately represents the content: it is literally a step-by-step guide to destroying a codebase, delivered as a live coding session. The speaker’s claims about common pitfalls align with established anti-pattern literature, though no explicit external references are given. The title-contenu alignment is strong, and the talk is internally coherent and well-structured.

238 words

Title / Content Match

The title accurately reflects the content: the speaker systematically destroys a codebase step by step with seemingly reasonable decisions, exactly as promised.

Quality & Reliability

8/10

The speaker is a senior software engineer and tech lead with practical experience. The talk is based on common anti-patterns and provides reasoned alternatives. However, it relies on anecdotal evidence and personal experience rather than formal research.

Key Moments

Cited Sources

  • NDC Conferences — Organizers of the event where the talk was given, mentioned in the description.
  • NDC Oslo — Specific conference website, referenced in the description as the event location.

External References

Contribution & Novelties

The talk’s original contribution is the live, step-by-step demonstration of how benign-looking decisions degrade a codebase, paired with a simple set of questions to detect the tipping point. It effectively makes the abstract concept of technical debt tangible.

Pour aller plus loin :

114 words

Radar Profile

The radar profile shows strong scores in quantity and quality of information, moderate technical level, and a slightly lower reliability score, reflecting the talk's practical but anecdotal basis. The balance indicates a valuable, actionable tutorial that is well-presented though not empirically grounded.

Reliability 7/10