On Simplicity

There's a temptation in software engineering to over-build everything. Every project starts simple, and then complexity creeps in — one abstraction at a time.

Less is more

The best code I've written is the code I deleted. The best features are the ones that solve a real problem with the minimum amount of machinery.

A practical example

This website is a good example. It could have:

  • A headless CMS
  • A database for comments
  • An authentication system
  • Dark mode with a toggle
  • Search functionality
  • RSS feeds

Instead, it has none of those things. It's markdown files in a folder. And it does exactly what it needs to do.

The takeaway

Before adding something, ask: do I actually need this? Most of the time, the answer is no.