🧠Knowledge Series #31 - SDKs explained
What exactly is an SDK and why do they exist? Everything you need to know with examples from Stripe, Zoom and more
🔒The Knowledge Series helps you plug the gaps in your tech knowledge so that you feel more confident when chatting to colleagues. Clearly explained in plain English. One topic at a time. So far, the collection includes APIs, front end development, mobile apps, headless architecture and payments explained - with more topics added every week.Â
If you’re a free subscriber and you’d like to upgrade to unlock them you can do so below. Or you can learn more about what you get with paid access here.
Hi product people 👋,
SDKs can be confusing to understand at first because they cross over with other engineering concepts like API documentation, open sourced plugins and code libraries.Â
In this Knowledge Series, we’ll explain what SDKs are, why they’re helpful and how they impact each member of the product team including engineers, product managers and designers. You’ll also understand how SDKs are used in the real world with examples to help from Stripe, Shopify and more.
Coming up:
What is an SDK and why do they exist? The most important bits to know
Why product managers and designers should also care about SDKs
The difference between SDKs and API documentation
Real examples of SDKs from companies including Stripe, Shopify and Zoom
An end to end example using a real world SDK
What is an SDK and why do they exist?
An SDK is a software development kit and for non-engineering members of product teams, you’ve probably come across the term either when you’re speaking to engineers or browsing API documentation for a third party you’re thinking about integrating with.
One of the reasons SDKs can often be quite confusing to get your head around is because they’re actually a combination of various different pieces bundled into one. And the contents of an SDK can change depending on the company you’re working with (more on that later when we look at some real world examples together).
But, despite the differences between different companies, an SDK will typically include a mix of one or more of the following:
Libraries and APIs - pre-written code segments and tools that developers
Documentation - docs that explain how the SDK works and its core functionality. This is separate to API documentation but there will often be links and references between API docs and SDK docs.
Code samples and examples - practical samples and examples of how to use the SDK. The samples are often hosted on Github so that engineers can grab a copy locally and use it as a template.
Development tools - not always present but this can include debuggers, runtime environments and other emulation and development tools to help with the building process.
There’s also a misconception that SDKs are only relevant for mobile app development. One of the reasons for this is because iOS and Android do tend to have rich resources for developing mobile apps which makes them some of the biggest providers of SDKs - but web SDKs exist, too.
To use a cooking analogy (as you know we love to do!), an SDK is almost like a meal kit.
Imagine you're planning to cook a complex dish for the first time, say, a traditional Italian lasagna. An SDK (Software Development Kit) would be akin to a lasagna meal kit that you've bought from a store. So in a sense, an SDK is a bit like having a HelloFresh meal kit for cooking your lasagne vs trying to cook it with no guidance or help.