Refactoring Legacy Code Without Breaking It
Refactoring legacy code safely: a practical playbook with characterisation tests, seams, strangler fig, and small changes that keep production up.
Write cleaner code with better testing, refactoring, and review practices.
Refactoring legacy code safely: a practical playbook with characterisation tests, seams, strangler fig, and small changes that keep production up.
A practical guide to identifying and fixing flaky tests. Root causes from timing and async bugs to test pollution, with strategies to stabilise CI.
A practical guide to legacy code analysis: how to audit an unfamiliar codebase, identify risks, map dependencies, and plan a safe path forward.
Learn secure coding practices every developer should know, from input validation and dependency auditing to secrets management and threat modelling.
A practical Q2 checklist for tackling technical debt. Audit dependencies, clean dead code, fix linter warnings, and prioritise what to refactor first.
Practical debugging strategies that help you find and fix bugs faster, from systematic approaches to tool mastery.
Practical error handling patterns that make your code more reliable, debuggable, and easier to maintain across any language.
A practical checklist for spring cleaning your codebase, covering dead code removal, dependency updates, and technical debt reduction.
Learn when to fix technical debt and when to leave it alone. A practical framework for making smart tradeoff decisions.