I read this article today by Vicki Boykis where they discuss the annoyance of modern-day programming being mostly trying to stick together a bunch of APIs. They write:
Recently, I’ve come to the realization that much of what we do in modern software development is not true software engineering. We spend the majority of our days trying to configure OpenSprocket 2.3.1 to work with NeoGidgetPro5, both of which were developed by two different third-party vendors and available as only as proprietary services in FoogleServiceCloud.
I’ve noticed this as well, recently having a lot of potential contracts for 508.dev that basically involve deploying, setting up, managing, and integrating various CRM, ERP, CMS, and e-commerce platforms, usually using various cloud services so as to automate as much of the maintenance that usually comes with running a server. It means instead of spending my time learning a lot of on-hands system administration stuff by managing a VPS, or, interesting things about server / backend programming, or, managing databases, instead I have to learn often proprietary and arbitrary APIs and their paradigms, or, the marketing-heavy featuresets of whatever cloud service. It’s annoying! Though, I am grateful for the plethora of free as in freedom software available on lists like awesome-selfhosted.