kenneth.io
Insights from building @stripe's developer platform & API developer ...
Excerpt
- **Foundation:** First and foremost, a great API developer experience starts with a strong foundation: An intuitive API platform grounded in principles and predictable patterns across its surface area. At Stripe, we spend a *lot* of time agonizing over patterns and consistency across the API to ensure developers have a consistent DX across products and abstractions. With the rise of AI and agents, it will be increasingly important to have a strong API foundation based on predictable and consistent patterns easily digestible for systems. ... Time will tell. - **API Review:** To operationalize this, we introduced a forcing function called API Review, where every change that modifies Stripe’s API must pass a strict review process staffed by a cross-functional group of people who care about API design. Naturally, it was challenging to manage as a centralized friction point for the company, particularly at scale with 1000s of engineers. … - **Consistency across abstractions:** One of the most common mistakes I see among companies are inconsistencies between method names and return signatures across abstraction ladders like REST → Back-end SDK → React SDK. It doesn't matter if you call GET request to retrieve or get in your SDKs. What matters is consistency all the way through. … - **Test-mode and instances:** As developers build integrations with your platform, they will make a lot of requests, and a good portion of those will have errors as the developers learn your API. To make it easier to get rolling, we set the standard by introducing a test mode that enabled developers to test their integration with Stripe without messing up real data or moving real money. Having a test mode is critical, and in this day and age, I consider the evolution of test-mode with multi-instance/environment support to be a table stakes in 2024.