DOTADIW (Do One Thing and Do It Well)
The Unix Phiosophy has provided us with valuable insights into building software. One of its most enduring ideas is DOTADIW (Do One Thing and Do It Well). It’s not just a catchy mantra; it’s a mindset that has quietly shaped some of the most successful tools in computing history.
The goal is to build something that does one job perfectly, rather than having many programs try to do everything, and then let it work alongside other tools. This isn’t about being minimal for the sake of it; it’s about focus.
A tool with a single, sharp purpose tends to be easier to understand, maintain, and combine with others.
In the Unix world, you see this philosophy everywhere. Take grep. It doesn’t manage files, compile code, or edit documents. It just searches text, and it does it incredibly well. Pair it with cat (which just outputs file content) and sort (which just sorts lines), and you suddenly have a powerful pipeline for text processing. Each command is simple, but when you string them together, they can handle surprisingly complex tasks.
The same principle works outside of Unix. Think about Git. It has grown a lot over time, but at its core, Git is laser-focused on version control. It doesn’t manage deployments or run your tests; it just tracks your files, their changes, and their history, and it does that better than anything else.
Dropbox in its early days, didn’t try to be your entire digital workspace. It just made syncing files across devices seamless. No email, no calendar, no bloat. That single focus made it reliable and dead simple for users, which is why it spread so quickly.
Hardware has its own DOTADIW champions too. The USB flash drive didn’t try to replace your computer; it just let you store and move data quickly. The humble calculator is another example. It’s not a spreadsheet, not a database, not a note-taking app. It just crunches numbers without distraction.
What makes DOTADIW so powerful is how it encourages composability. If every tool does one thing well, you can chain them together in creative ways. Unix pipelines are the classic proof of this, but the same applies to APIs, microservices, and even physical tools.
In an age where software often tries to be a “super app” that handles everything from chat to payments to shopping, DOTADIW feels almost rebellious. But it’s still a recipe for longevity. Many of the tools we still rely on decades later, from ls to the Phillips screwdriver, owe their success to doing one thing with precision and reliability.
So next time you’re tempted to cram in “just one more feature,” remember DOTADIW. The future-you, your users, and maybe even your debugging sessions will thank you.