I am glad to see your optimistic outlook. I have a similar one. I have often been accused of being "negative," which makes me laugh.
It's just that I have been delivering software for more than 30 years, and have come to learn that there's a great deal of work necessary, when creating and nurturing a vibrant, growing, and attractive future.
There's a lot of compromise, as well as many layers, built over time, with care and patience. Testing, documentation and support are necessary, as well as a commitment to "seeing the story through to the end."
I have compared creating SDKs and modules to having children. Once we have brought them into the world, we are responsible to maintain them, and support them for the rest of our lives.
Those are "classic" values that are just as valid today, as they were when Fred Brooks was a kid.
In reality, we are standing on a mountain of work, done by our predecessors.
We don't need to rebuild the mountain; just put on oxygen masks.
Totally agreed that this is the vaunted reuse that we were desperately trying to achieve in the 80s and 90s. Did we ever achieve it! And yes, this is a Good Thing™, and it really irks me when people claim we have the same "software crisis" we had in the 80s or 90s, or even since 1968. I just want to shake them an go "open your eyes, look around"
Yes, we have problems with the state of the art, but these are new problems that are due to our past successes.