Software program architects love structures, patterns, and best methods. However frequently, we neglect that behind every design decision rests a set of assumptions– and those presumptions can conceal dead spots. Approach, remarkably, provides us tools to discover them.
Two powerful techniques originate from very different times and areas: Socratic doubting from old Greece, and Karl Popper’s falsification principle from 20 th-century approach of scientific research. Incorporated, they form a functional lens for far better software application layout.
Action 1: Beginning With an Idea
Every engineer has directing principles. As an example:
“Microservices are always much better than pillars.”
It seems practical. However is it globally real?
Action 2: Apply Socratic Questioning
Socrates would certainly ask:
- What do I indicate by “far better”?
- What presumptions am I making? (e.g., scalability is the main objective)
- What choices have I ignored? (modular monolith, serverless)
- What repercussions comply with if I never ever question this idea?