Suggested rewrite: Led a cross-functional initiative that improved [business outcome] by [measurable result], demonstrating experience relevant to this role...
SDK Engineer – Python
- Remote from
- 🌐 Anywhere
- Salary
- Undisclosed
- Department
- Software Engineering
- Employment
- Full Time
- Experience
- Open level
- Published
- Apply before
- 6 Dec 2026
- Listing views
- 20
- Application actions
- 1
Make your next move.
Prepare your resume, explore your fit, and draft a cover letter for this opportunity.
About this role.
About Supabase
Supabase is the Postgres development platform, built by developers for developers. We provide a complete backend solution including Database, Auth, Storage, Edge Functions, Realtime, and Vector Search. All services are deeply integrated and designed for growth.
About the Role
We’re looking for a SDK Engineer – Python to join our SDK team and own how developers talk to Supabase from Python. You’ll work closely with the rest of the SDK team, our Auth, Realtime, Storage, PostgREST, Functions, CLI and Docs teams, and the open-source community, helping us make the Python SDK a library Python developers genuinely enjoy using.
Python developers reach Supabase from backend services, data pipelines, notebooks, and a growing number of AI agents and agent frameworks. The Python SDK is how all of them talk to the platform: database queries, auth, storage, realtime and edge functions, in both sync and async flavors.
This is a library-authoring role, and the work happens in the open: public repos, public issue trackers, and API decisions whose consequences last for years. If you get satisfaction from a type checker that catches the bug before your users do, from an async client that cleans up after itself, and from an issue tracker that isn’t a graveyard, you’ll like it here.
This role is ideal for someone who thrives in async, fast-paced environments and is excited about building developer tools that scale to millions.
What You’ll Be Responsible For
Build and evolve our Python SDK across database, auth, storage, realtime and functions, with both sync and async APIs that feel natural in Python.
Start new things. Alongside the maintenance work, find what’s missing, make the case for it, and build it. Nobody will hand you the list.
Work in the open. Triage inbound issues, review and shepherd outside contributions, keep CI and release automation healthy, and hold a clear, kind line on scope.
Own the typing experience. Make the SDK fully typed and checker-friendly, so autocomplete and static analysis stay correct in real codebases.
Keep us honest across environments. Multiple Python versions, sync and async frameworks, workers, serverless and notebooks — with dependency ranges that don’t fight our users’ projects. Test it, don’t assume it.
Work on realtime. Long-lived websocket connections, reconnection, and subscription and presence semantics.
Track the platform. When auth, realtime, storage, postgrest or edge functions ship a change, make sure the SDK reflects it, and that we say so in the changelog.
Design in public. Write the RFCs, migration guides, release notes and docs. Treat a breaking change as a deprecation path plus a migration story, not a version bump.
Make our SDK legible to AI coding agents, which are now a major consumer of it.
You Might Be a Good Fit If You
Know modern Python typing deeply. You use generics, protocols, overloads and
TypedDictas design tools, run strict type checking, and fix type errors without reaching forAny.Have authored or maintained a published library with a public API and users outside your own company. You know what it costs to change something people depend on.
Know the maintainer side of open source. Issue triage at volume, reviewing outside PRs, release automation, changelogs and semver, security reports, and saying no to a feature request without losing the person who asked.
Are fluent in asyncio and have opinions on how a library should serve both sync and async callers.
Know Python packaging for libraries:
pyproject.toml, wheels, modern tooling, version support policy, and why libraries shouldn’t pin their dependencies tightly.Test as a habit: unit, type-level and end-to-end against a real stack. Every fix comes with a regression test.
Write well. Design docs, changelogs and issue replies are a large part of the output here, much of it public, and we’re async by default.
Have real autonomy: you find the important work, scope it, ship it, and say what you didn’t do.
Communicate clearly across both technical and non-technical audiences
Have experience in async or globally distributed teams
Are energized by solving real-world problems for developers
Are comfortable navigating ambiguity and moving quickly
Bonus points if you: have run a major-version migration for a public package, know your way around JWT/OAuth, have built integrations for AI agent frameworks, or have generated idiomatic clients from a schema.
What We Offer
Fully Remote
We hire globally. We believe you can do your best work from anywhere. There are no Supabase offices, but we provide a WeWork membership or co-working allowance you can use anywhere in the world.
ESOP
Every team member receives ESOP (equity ownership) in the company. We want everyone to share in the upside of what we’re building together.
Tech Allowance
Use this budget to set up your ideal work environment—laptop, monitor, headphones, or whatever helps you do your best work.
Health Benefits
Supabase covers 100% of health insurance for employees and 80% for dependents, wherever you are. Your wellbeing and your family’s health are important to us.
Annual Off-Sites
Once a year, the entire company gathers in a new city for a week of connection, collaboration, and fun. It’s a highlight of our year.
Flexible Work
We operate asynchronously and trust you to manage your own time. You know what needs to be done and when.
Professional Development
Every team member receives an annual education allowance to spend on learning—courses, books, conferences, or anything that supports your growth.
About the Team
Supabase was born-remote and open-source-first. We believe our globally distributed team is our secret weapon in building tools developers love.
~400 team members
60+ countries
20+ languages spoken
Over $1B raised (including our $500M Series F)
540,000+ community members
We move fast, build in public, and use what we ship. If it’s in your project, we probably use it in ours too. We believe deeply in the open-source ecosystem and strive to support—not replace—existing tools and communities.
Annual salary information is not provided for this position. Explore salary ranges for similar roles in our Salary Directory ›
This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.
Role DNA
A quick view of the complexity, pace, ownership and collaboration implied by the job description.
Pace & Pressure
5/5Autonomy Level
5/5Communication Load
5/5Salary analysis
Estimated compensation compared with the broader US market for similar roles.
Core skills
Skills and capabilities most closely associated with this opportunity.
Sample interview questions
I would define consistent resource models, method names, parameter shapes, return types, and error semantics across sync and async clients. I would isolate transport concerns so the synchronous and asynchronous implementations can share validation, serialization, and API-contract logic, while testing both paths against the same behavioral suite.
I first assess the public API surface and downstream impact, then introduce deprecations with clear warnings, documentation, migration examples, and a stated removal timeline. For breaking changes, I would publish an RFC where appropriate, provide a migration guide, and ensure release notes explain both the rationale and practical upgrade steps.
I use strict static checking and model public interfaces with generics, protocols, overloads, and TypedDict where they accurately describe user-facing behavior. I avoid Any unless there is a tightly contained interoperability boundary, and I add type-level tests alongside runtime tests to prevent regressions in autocomplete and checker behavior.
I would explicitly model connection states, reconnection strategy, subscription lifecycle, authentication refresh, cancellation, and cleanup behavior. I would test network interruptions, duplicate events, backoff behavior, reconnect ordering, and shutdown paths using deterministic integration and end-to-end tests.
I would use clear contribution guidelines, labels, issue templates, reproducible bug requirements, and transparent scope decisions. I prioritize confirmed regressions, security concerns, and high-impact compatibility issues, while giving contributors respectful and actionable feedback even when a proposed feature is not a fit.
Apply now.
Follow the employer’s application method and review Jobicy’s safety guidance before sharing personal information.
Continue on the employer website
Protect your personal information and never pay to secure an interview or job offer. .
