The problem at hand is that developer-driven design choices have an effect on each the flexibility to ship an excellent consumer expertise and the rate of growth (and thus the nimbleness of the enterprise). And there’s a stress between these two considerations.
From the angle of an API consumer, the best API design has essentially the most normal attainable capabilities. As an illustration, should you’re utilizing a financial institution API, you ideally need there to be just one perform for getting the steadiness for a consumer, one perform for altering the steadiness, and many others. If there are dozens of capabilities to name to get a financial institution steadiness, it turns into a lot simpler to name the incorrect one!
From the angle of a developer, nonetheless, the best API to construct for is essentially the most particular. It is because the extra particular a perform is, the extra a developer can optimize. As an illustration, the way in which to construct the quickest attainable banking app is to have the app again finish ship precisely the fitting info the app entrance finish wants and no extra. Inside APIs bias in the direction of efficiency, which means they’re designed by the developer for ease of optimization, fairly than for ease of consumption.