APIs and SDKs Compared: Definitions, a Concrete Example and When to Ship Each
Quick Overview
A technical concept question for product manager candidates: explain how an API differs from an SDK and how the two relate. It tests precise definitions, a correct example from a real platform, and an understanding of what offering SDKs means for developer adoption, versioning and maintenance cost.
APIs and SDKs Compared: Definitions, a Concrete Example and When to Ship Each
Company: Amazon
Role: Product Manager
Category: Software Engineering Fundamentals
Difficulty: medium
Interview Round: Other
Explain how an API differs from an SDK, and illustrate the difference with a concrete example.
```hint Look at what is handed over
Picture a developer adding cloud file storage to an app. List what they would receive in each case, and what they would still have to write themselves.
```
### Clarifying Questions
- Should I focus on web APIs that a service exposes over the network, or also cover APIs in the wider sense, such as an operating system's or a library's interface?
- Should I pitch the explanation for engineers or for a non-technical stakeholder?
- Would you like me to connect it to a product decision, such as whether a platform team should build and maintain SDKs?
### What a Strong Answer Covers
- A precise definition of each term and of how the two relate
- What each one gives a developer and what work it leaves to them
- A correct, concrete example from a real platform
- The product consequences of offering SDKs on top of an API: developer adoption weighed against the cost of building, versioning and supporting them across languages
- An explanation clear enough for a non-engineer without becoming inaccurate
### Follow-up Questions
- With limited engineering capacity, how would you decide which languages get an official SDK?
- How do breaking changes play out differently for an API and for an SDK?
- When would a customer choose to call your API directly even though an SDK exists?
Overview: A technical concept question for product manager candidates: explain how an API differs from an SDK and how the two relate. It tests precise definitions, a correct example from a real platform, and an understanding of what offering SDKs means for developer adoption, versioning and maintenance cost.
Explain how an API differs from an SDK, and illustrate the difference with a concrete example.
Clarifying Questions Guidance
Should I focus on web APIs that a service exposes over the network, or also cover APIs in the wider sense, such as an operating system's or a library's interface?
Should I pitch the explanation for engineers or for a non-technical stakeholder?
Would you like me to connect it to a product decision, such as whether a platform team should build and maintain SDKs?
What a Strong Answer Covers Guidance
A precise definition of each term and of how the two relate
What each one gives a developer and what work it leaves to them
A correct, concrete example from a real platform
The product consequences of offering SDKs on top of an API: developer adoption weighed against the cost of building, versioning and supporting them across languages
An explanation clear enough for a non-engineer without becoming inaccurate
Follow-up Questions Guidance
With limited engineering capacity, how would you decide which languages get an official SDK?
How do breaking changes play out differently for an API and for an SDK?
When would a customer choose to call your API directly even though an SDK exists?