Technical Debt: How to Measure It and How to Argue for Fixing It
What technical debt actually is, how to distinguish debt worth paying from debt worth ignoring, and how to make the case for cleanup work to a non-technical stakeholder.
What actually matters when building real software systems
What technical debt actually is, how to distinguish debt worth paying from debt worth ignoring, and how to make the case for cleanup work to a non-technical stakeholder.
What microservices actually cost, what problems they actually solve, and how to think about the decision instead of treating it as a default choice.
A systematic approach to finding the root cause of production issues - how to use logs, metrics, and traces together, and the mental models that turn panic into process.
A code review is not a gatekeeping exercise. Here is what makes them useful - from both sides of the diff.
Caches speed things up until they serve stale data. Understanding the tradeoffs at each caching layer - and how invalidation actually works - is what keeps them from becoming bugs.
The concrete differences between processes, threads, and coroutines at the OS level, and how to choose the right concurrency model for the problem in front of you.
What the stack and heap actually are, how memory allocation works at the hardware level, and why understanding this makes you a better programmer in any language.
How the three main approaches to memory management work, what they cost, and why the choice of memory model shapes the entire character of a programming language.
Why engineers struggle to communicate technical problems to non-technical stakeholders, and the frameworks that make explanations clear without sacrificing accuracy.
Why bad data is more dangerous than no data, the patterns that let it silently corrupt downstream systems, and the practical checks that catch it before it causes damage.
Why Docker images get bloated, how layer caching works in practice, and the specific techniques that produce small, fast, secure images without sacrificing developer experience.
What actually distinguishes each level, why the progression stalls for many engineers, and the specific habits and skills that accelerate the path.