Supabase is an Open Source and fully remote company building developer tools for databases.
We are looking for a Client Library Engineer with strong expertise in both Python and JavaScript to help build and maintain high-quality client libraries. You will be responsible for ensuring our libraries are battle-tested, robust, and work seamlessly across all available platforms, including web, server, and mobile environments.
As part of our engineering team, you’ll play a key role in shaping developer experiences, optimizing SDK performance, and ensuring consistency across multiple ecosystems. If you love building developer-friendly tools and enjoy solving cross-platform challenges, we’d love to hear from you!
You will:
Develop and maintain Supabase’s Python and JavaScript client libraries, ensuring they are production-ready and reliable. This includes:
JavaScript libraries: supabase-js, auth-js, storage-js, realtime-js, functions-js, postgrest-js
Python libraries: supabase-py, auth-py, storage-py, realtime-py, functions-py, postgrest-py
Ensure the libraries are fully battle-tested, with comprehensive test coverage, benchmarking, and stress testing.
Guarantee that the libraries work consistently across different platforms (Node.js, browsers, mobile, and backend environments).
Maintain high test coverage across all libraries to ensure reliability, prevent regressions, and facilitate safe refactoring.
Optimize library performance and usability for developers.
Collaborate with internal teams to align library APIs with best practices and idiomatic usage in both ecosystems.
Write clear, high-quality documentation and guides to help developers integrate the libraries easily.
Work closely with open-source communities, gather feedback, and iterate on improvements.
Stay up to date with the latest advancements in the Python and JavaScript ecosystems to ensure compatibility and best practices.
You have:
Strong experience in both Python and JavaScript/TypeScript.
Deep understanding of the Python and JavaScript ecosystem, including packaging, dependency management, and best practices for libraries.
Experience with the JavaScript/TypeScript ecosystem, including npm, ES modules, bundlers, and browser compatibility concerns.
Experience writing cross-platform libraries that work in different environments.
Strong focus on writing tests with frameworks like Pytest, Jest, or similar, ensuring high test coverage.
Familiarity with networking concepts (e.g., HTTP, WebSockets, authentication mechanisms).
Experience working with open-source projects or maintaining developer tools.
Experience working with WebAssembly (Wasm) for cross-platform compatibility.
Familiarity with mobile runtimes like React Native, Deno, or serverless environments.
Strong communication skills and a passion for building developer-friendly libraries.
We offer:
100% remote work from anywhere in the world. No location-based adjustment to your salary.
Autonomous work. We work collaboratively on projects, but you set your own pace.
Health, Vision and Dental benefits. Supabase covers 100% of the cost for employees and 80% for dependants
Generous Tech Allowance for any office setup you need
Annual Education Allowance
Annually run off-sites.
About the team
We're a startup. It's unstructured.
Collectively founded more than 30 startups.
Globally distributed team with more than 30 different nationalities.
We deeply believe in the efficacy of collaborative open source. We support existing communities and tools, rather than building "yet another xx".
We "dogfood" everything. If you use it in your project, we use it in Supabase.
Process
The entire process is fully remote and all communication will happen over email or via video chat.
Once you've submitted your application, the team will review your submission and may reach out for a short screening interview over a video call.
If you pass the screen you will be invited to up to four follow-up interviews.
The calls:
usually take between 20-45 minutes each depending on the interviewer.
most of the time, are all 1:1.
will be with the founders, a member of either the growth or engineering team (depending on the role) and usually one other person from your immediate team or function.
Once the interviews are over, the team will meet to discuss several roles and candidates and may:
ask one or two follow-up questions over email or a quick call.
go directly to making an offer.