“There is a maximally efficient way to design a piece of software.”
That notion is lost on Microsoft.
“There is a maximally efficient way to design a piece of software”
This isn’t at all true. There are so many different ways to go about software design that efficient code or operation is a secondary concern to many many other factors. I can design the same piece of software in .NET, JAVA, C etc. What database, what middleware etc etc... Once you have all that put down and you’re actually writing code do you go pure Object Oriented or Procedural, maybe a hybrid?
I can write some incredibly efficient code, but it would be unreadable and barely maintainable. Familiar with really long Regex anyone? So most software engineers balance efficiency with maintainability.
Bottom line is Software design is not a Science, it’s an Art.