Discover more from Matt Rickard
The Value is in the API
Not the implementation.
At my first job, I spent a lot of time digging into the fintech stack. I had become convinced that reverse engineering mobile banking APIs was the technically superior option to screen-scraping. I even took my unsolicited opinion to Hacker News, running into one of the Plaid founders (Plaid, like Yodlee before it, originally used screen-scraping). Plaid turned out to be wildly successful. I learned that the value is in the API, not the implementation. Sometimes a dirty implementation gets the job done.
In Kubernetes and more generally, open-source, you're forced to focus on the API. Don't mistake the implementation for the product – it's the API and the API machinery. That's how people will integrate, interact, build, and modify your project. If you don't create good APIs (and API machinery), people will use your project in all sorts of unintended ways. It's not a matter of if but to what extent. Good APIs reduce the probability of a hard fork (open source) or customer churn (managed SaaS). The best APIs let your project be used in ways that you couldn't have anticipated early on – as the market shifts, or as developers find creative new use cases. It could be someone building a virtualized kubelet, running VMs, instead of containers with Kubernetes, or even swapping out different runtimes.