
Build me a bathroom with software! 🚽
Oct 13, 2023Ever 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.
Don't miss a post!
New posts to your inbox.
We hate SPAM. We will never sell your information, for any reason. Unsubscribe anytime.