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.

Amazon logo
Amazon
Nov 23, 2024
mediumProduct ManagerOtherSoftware Engineering Fundamentals
0
0

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?