openskills.info
Course Preview

SDK Design

SDK design is the practice of building client libraries that let developers call an API comfortably in their own language. It covers client shape, naming, sync and async methods, error handling, authentication, versioning, and the tests and docs that ship with the package, so the SDK feels like a native library rather than a thin HTTP wrapper.

itSoftware engineering

SDK Design

An SDK, or software development kit, is the client library developers use to call your API from their own language. The API defines what the service accepts and returns. The SDK decides how that contract feels in Python, TypeScript, Go, or .NET. A well-designed SDK packages transport, serialization, authentication, retries, and paging behind code that reads like a native library, not like a wrapper around HTTP.

SDK design is a product decision, not a code generation step you run and forget. Every surface you publish becomes part of the package's promise to consumers: the client's constructor, the method names, the errors they catch, and the versions they pin. Design decisions made here are visible in every file a consumer writes.

Start from the API contract

Read the API description before you pick method names. The API defines the resources, operations, inputs, outputs, and failure modes your SDK must express. A machine-readable contract, such as an OpenAPI document, gives the SDK author a complete list of operations and schemas to cover, which is why generators use it as their input.

Do not let the SDK invent a parallel model. Azure's guidelines stress consistency: client libraries should stay consistent with the service they wrap, within the target language, and across the languages the service publishes. When those conflict, idiomatic use of the target language wins, but the service concepts stay recognizable. If the API has a Customer resource with list, get, and update operations, the SDK should expose those as methods on a customer client, not as a free-form HTTP utility.

Shape one client per service

Continue the course

This section is part of the paid course.

See pricing to subscribe, or log in if you already have access.

Where this skill leads

Relevant careers

See how this topic contributes to broader role-level skill maps.

Sources