Simple systems
I’m drawn to simple systems. Not simplistic—simple. There’s a difference.
Simple systems are easy to understand, easy to maintain, and easy to fix when they break. They do one thing well instead of many things poorly.
In code
The best codebases I’ve worked with have been the simplest ones. Clear structure. Minimal dependencies. Straightforward logic.
Complexity creeps in slowly. A helper function here. A new dependency there. Before you know it, you need a PhD to understand what should be a simple feature.
In productivity
My task management system is a text file. That’s it. No kanban boards, no project management software, just a list of things to do.
It works because there’s nothing to configure, nothing to update, nothing to sync. Just open the file and write.
The resistance
Simple systems face resistance because they don’t feel impressive. They don’t have all the features. They can’t do everything.
But that’s exactly why they work.
Keep it simple
When building something new, I try to start with the simplest version that could possibly work. Then I stop.
If I need more later, I can add it. But usually, I don’t.
2025-01-18