notes
Notes on software engineering, web performance, and the things I learn while building. Every post lives on my blog.
Six months from now, you won't remember why you wrote this. Here's how I write code that my future self can still understand and trust.
Over-engineering is a fear response, and the numbers on unused features back it up. Here is how I learned to build for the problem in front of me.
Memorizing all 23 GoF patterns won't make you a better engineer. Patterns are outputs of good principles, and chasing them backwards leads to bloat.
Ugly code gets fixed because it's annoying. The debt that actually costs you is invisible - tribal knowledge, dead assumptions, and untested paths.
Skip the refactor sprint that never gets approved. Attach cleanup to every feature ticket and the legacy code fixes itself over time.
The classroom test for single responsibility falls apart once real teams, deploy schedules, and on-call rotations enter the picture. Here's what replaces it.