← All writing
Notes

Build me a bathroom with software! 🚽

Ever heard the metaphor comparing software development to building a house? It's a common analogy, but here's my take on it:

Thanos Diacakis
Thanos Diacakis
Engineering coach

Software Bathrooms

Build me a bathroom with software! 🚽

Ever heard the metaphor comparing software development to building a house? It’s a common analogy, but here’s my take on it:

🏠 Building a house follows a standardized process: from rough framing, plumbing, electrical work, to drywall, floors, and finishes. It’s a familiar sequence.

💻 But if we were to equate this level of clarity in software, it’d be akin to defining a function signature and coding a straightforward 30-50 line algorithm. Like, “Here’s a list of people, now use the bubble sort method to organize them by their last name.”

Just as we are clear on constructing a bathroom, we’re clear on building something at roughly the complexity of a function.

Yet, when we think about creating something bigger, such as a micro-service, the complexity scales. It’s not just “build me a house”. It’s more like, “Design a commercial building for me.” There’s a myriad of details and discussions that come into play before we can actually build anything.

🚀 And if someone asks for a software system for an AI-based tax application? Well, there’s no direct construction analogy for that. It’s somewhat like saying, “Design a spaceship to sample the rings of Saturn.” It’s uncharted territory, with new challenges and lessons at every turn.

The next time we lean on a metaphor comparing software development to building physical things, let’s pause and reflect on the true correlation between the clarity and variability of the specifications in both fields.

See this pattern in your own team?

A free consult is the fastest way to figure out how deep it goes – and where the smallest meaningful change would be.

→  Book a free consultation