notes
Notes on software engineering, web performance, and the things I learn while building. Every post lives on my blog.
Clean architecture fails when you copy the diagram instead of the idea. Here is where the layers actually earn their keep, and where they just slow you down.
After maintaining a decade-old codebase, I learned that software survives by being easy to change, not by being clever or perfectly designed.
Senior engineers treat every line as a liability. Here is why deleting code is real work, the instinct juniors miss, and how I learned it the hard way.
After six years of shipping code, I stopped treating SOLID as five rules to memorize and started treating it as one idea about change. Here's what held up.
The big-bang rewrite feels heroic and almost always stalls. Here's the incremental approach I use to modernize a legacy app without killing the team.
We spend most of our day reading code, not writing it, yet nobody practices reading. Here's the deliberate routine I use to get through unfamiliar code fast.