The point here is that these three things all have rather different jobs, and can be used together. You don’t want multiple teams cranking out handfuls of REST APIs with completely different payload shapes and completely different approaches to things, and whatever shape the API data is in, you need to know more about what that data actually is. Think of one as a “Data Format” and another as a “Data Contract” and things make a bunch more sense…
But over those 50 years, you’d become a much different person. If you actually started getting up early and getting new and better ideas, and then acting on those ideas, you’d develop a new brain and personality.
The problem is, your most productive employees are the ones who help all your other employees be more productive — and those helpful employees are busy helping other employees improve or close tickets faster, or they’re in the deep think tank painstakingly crafting your app’s architecture and designing quality library APIs. Or they’re busy sharing experience and knowledge with the rest of your team.
Remember, you’re looking for the $1MM/year+ employees. Obviously those employees are self motivated. They want to play to win. They’re not going to sit at home watching TV when they should be working. They’re going to be obsessively thinking about the exciting challenge you’ve given to them.
One of the ways you’re bleeding cash is the tremendous opportunity cost of keeping your modules private. I have several open source modules with communities of developers who make incredible contributions on a regular basis. In other words, we all benefit because we share our most expensive resource: our developer talent.
I used that module on the new job, and a few weeks into it, another library user at a different company contributed a bug fix that was worth tens of thousands of dollars per month to us. Who knows how long it would have been before we realized the bug existed in the first place?