Software SDK Engineer

Remote
Apply
AI Summary

We're looking for an experienced SDK Engineer to join our team, specifically to support and enhance our existing FGA client SDKs. The role involves maintaining and enhancing existing SDKs, implementing core SDK features, and developing comprehensive tests. Key requirements include proficiency in at least one programming language and experience in SDK development principles and best practices.

Key Highlights
Maintain and enhance existing SDKs
Implement core SDK features
Develop comprehensive tests
Key Responsibilities
Maintain and enhance existing SDKs for FGA in Go, JavaScript, .NET, Python, and Java
Implement and improve core SDK features
Develop comprehensive tests for all exposed methods
Technical Skills Required
Go JavaScript/TypeScript C# (.NET) Python Java Docker Make Mustache Templates OpenAPI Generator
Benefits & Perks
CAD $75- CAD$80 Per hour on W2
Fully Remote in Canada
12+ Months Contract with Possible Extension

Job Description


Job Title: Software SDK Engineer

Location: Fully Remote in Canada

Duration: 12+ Months Contract with Possible Extension

Pay Range- CAD $75- CAD$80 Per hour on W2


Job Overview:

• We're looking for an experienced SDK Engineer to join our team, specifically to support and enhance our existing FGA client SDKs. These SDKs, currently available in Go, JavaScript, .NET, Python, and Java, are critical for enabling faster adoption of FGA, reducing time-to-production for our users, and ultimately improving customer engagement. You'll play a vital role in ensuring our SDK offers remain robust, consistent, and performant across all supported languages.


Required Skills:

2-5 years of experience as an SDK Developer or in a similar role.


Proficiency in at least one, and ideally multiple, of the following programming languages: Go, JavaScript/TypeScript, C# (.NET), Python, or Java.


• Solid understanding of SDK development principles and best practices.


• Familiarity with code generation, templating, handling configuration, and token exchange mechanisms.


• Experience setting up and maintaining GitHub Actions and release workflows.


• Proven ability to implement robust error handling, retry logic, and manage parallelization within SDKs.


• Strong ability to write effective tests and mock external requests.


• Good understanding of version control systems and familiarity with PR-based development workflows.


• Excellent problem-solving skills and the ability to work independently with minimal guidance.


• Strong communication skills to collaborate effectively with the team and provide regular updates.


Technology knowledge: Familiarity with Docker, Make, Mustache Templates, and OpenAPI Generator, along with a willingness to deepen expertise in these areas.


Responsibilities:

• Maintain and enhance existing SDKs for FGA in Go, JavaScript, .NET, Python, and Java, primarily utilizing our auto-generated framework.

• Customize and refine SDK templates to ensure consistency across all languages and accommodate specific configuration overrides (e.g., store_id, custom headers).

• Implement and improve core SDK features such as:

o Client Credentials token exchange mechanisms.

o Robust error mapping and error handling.

o Sophisticated retry logic with jitter to effectively handle rate limiting or server unavailability.

o Mechanisms for users to override specific fields per method (e.g., max parallelization, authorization model ID, store ID, headers).

• Develop comprehensive tests for all exposed methods, ensuring proper mocking of external requests for reliability.

• Write comprehensive documentation for the SDKs, ensuring clarity and ease of use for developers.

• Optimize and manage continuous integration (CI) processes for building, testing, and releasing SDK clients.

• Minimize external dependencies within the SDKs, aiming for no dependencies with rare, absolutely necessary exceptions.

• Contribute to the SDK generator tool, leveraging Docker and requiring minimal additional tooling (primarily make, docker, jq).

• Design and refine wrappers around the generated API to provide a consistent and user-friendly interface similar to the existing OpenFGA Client across all SDKs.

• Implement and optimize features like BatchCheck, ListRelations, and non-transactional write operations with appropriate parallelization, adhering to specified limits.

• Collaborate closely with the FGA team, adhering to established guidelines and processes, and providing regular updates.

• Review incoming pull requests (PRs) from the community and help contributors get their changes to a mergeable state.

• Conduct thorough testing and participate in code reviews (PRs) and post-delivery validation to ensure the delivery of high-quality, secure SDKs.


Similar Jobs

Explore other opportunities that match your interests

Visa Sponsorship Relocation Remote
Job Type Contract
Experience Level Entry level

Twine

Canada

Head of AI Engineering

Programming
22h ago
Visa Sponsorship Relocation Remote
Job Type Full-time
Experience Level Director

eversynced

Canada

Senior Creative Director

Programming
1d ago
Visa Sponsorship Relocation Remote
Job Type Full-time
Experience Level Director

kulin

Canada

Subscribe our newsletter

New Things Will Always Update Regularly