In a sense, this post is simply stating the obvious.
The biggest differentiator of skilled software practitioners is the ability to construct simple systems.
To call this claim panglossian or meaningless is to hold the philistinic line that this skill set doesn't matter, that any complex system is effectively the same as any ol' simple one -- don't worry about cultivating the skill, it doesn't matter anyway...
But simplicity is the single most important thing that matters in any maintaining system other than one-off scripts, hack jobs, etc. -- It's absolute torture to collaborate on a software project with anyone who rejects this premise.
And by that I mean, it has to account for more scenarios or do additional things... unless your software is growing in complexity while you're only removing features...
Bugs in software come from thinking we're simplifying the world in one way though the program, while in reality it receives a slightly different picture.
Faulty data models and system designs -- that aren't fixed -- lead to ever-increasing complexity. But that is the fault of the data model/designer.
I.e., there is a way to build (and grow) systems w/o linear increase in complexity -- but it takes a particular rare skill set.
I would say it's to construct simple enough systems, and the hallmark of skill is a developer's ability to define enough.
_One_ hallmark of developer ability is the discretion/wisdom/experience to know how flexible to make the thing. (How to prioritize and limit feature-creep, etc.)
But this is different than Simplicity. A general purpose programming language or database -- highly flexible/generic systems -- for example, can be built well/simple. But so can highly _specific_ systems.
In both cases though, one can build something that is decoupled and manipulable or one can build something that is coupled and rigid -- and the ability to do so is a function of skill set _not intrinsically_ a function of time. In other words, a skilled developer doesn't have to "take time" to deliver a Simple capability.
And sometimes it is good to have a replaceable head on the hammer.
A Hammer's construction can be Simple. A Knife's construction can be Simple. Or not.
>The single most important quality in a piece of software is simplicity.
How panglossian, imagining the best of all possible worlds. Well, the world is intrinsically complex, as Fred Brooks explained in his No Silver Bullet essay from 1986[0].
"The complexity of software is an essential property, not an accidental one."
Sure, there is accidental complexity in most software problems, that can be tackled with skill and experience, and maybe reduced to zero. But then you are left with the essential complexity of the world. And you are done reducing the complexity; you can only manage it from then on. The world is very, very complex and it is a pipe dream to imagine that we can eliminate its complexity just by some bold engineering.
[0] http://worrydream.com/refs/Brooks-NoSilverBullet.pdf