Maintainable

Don MacKinnon: Why Simplicity Beats Cleverness in Software Design

Dec 2, 2025
Don MacKinnon, a software engineer and founder of Searchcraft, discusses the importance of simplicity in software design. He shares a story about how an unnecessary abstraction in a Node.js API complicated development. Don explains how his team’s structure evolved from consulting pain points and emphasizes the value of clear project structure and documentation. He also advises on evaluating third-party libraries and uses real-world examples to illustrate the transition from dynamic languages to TypeScript and Rust for improved maintainability.
Ask episode
AI Snips
Chapters
Books
Transcript
Episode notes
ADVICE

Use RFCs As A Decision Anchor

  • Use RFCs for significant features to force early thinking and align the team.
  • Timebox the RFC discussion so decisions don't stall and follow up in meetings when needed.
ADVICE

Write Documentation That Adds Context

  • Document the why, not just the code surface, to add context that the code can't convey.
  • Link tickets and commit messages to preserve decision context for future maintainers.
INSIGHT

Types Shape Code Organization

  • Strong typing changes how you organize and communicate within code.
  • Types act as organizational scaffolding and reduce classes of runtime errors.
Get the Snipd Podcast app to discover more snips from this episode
Get the app