Quality Engineering
Forty tutorials across four complete series, all about the same thing: code that still makes sense six months from now. Start anywhere — these paths do not depend on each other.
Refactoring Patterns
Change the shape of code without changing what it does. Ten named patterns, from pulling out a function to strangling a legacy system one route at a time.
1. Why Refactor
2. Extract Function
3. Extract Variable
4. Replace Conditional with Polymorphism
5. Move Function or Module
6. Rename Symbol Safely
7. Introduce Parameter Object
8. Split Phase
9. Refactor to Tests
10. Strangler Pattern Refactor
Code Reviews That Help
Review that catches real problems without burning the goodwill you need for the next one.
1. Write a Reviewable PR
2. Prioritize What to Comment On
3. Give Feedback That Lands
4. Review a Large PR
5. Spot Security Issues in Review
6. Review for Readability
7. Build Review Conventions
8. Handle Disagreement in Reviews
9. Review Junior Engineer PRs
10. Measure Review Health
Debugging Systematically
Replace guessing with method. Every tutorial is a technique you can use the next time something breaks.
1. Form a Hypothesis from Symptoms
2. Bisect to Find the Cause
3. Read Stack Traces Effectively
4. Use a Debugger, Not Print
5. Debug Distributed Systems
6. Debug Memory Leaks
7. Debug Race Conditions
8. Debug Production Issues
9. Write a Bug Postmortem
10. Build Debugging Tools Into Code
AI-Assisted Coding
Use AI coding tools without shipping code you cannot explain. Includes the cases where the right answer is to turn them off.
1. Pick an AI Coding Tool
2. Prompt for Code
3. AI Pair Programming
4. Review AI-Generated Code
5. Use AI for Refactoring
6. Use AI for Tests
7. Use AI for Debugging
8. AI Agents for Engineering
9. When Not to Use AI
10. Team Conventions for AI Tools