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
Key Responsibilities
Technical Skills Required
Benefits & Perks
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.
Interested in remote work opportunities in Development & Programming? Discover Development & Programming Remote Jobs featuring exclusive positions from top companies that offer flexible work arrangements.
• 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.
Browse our curated collection of remote jobs across all categories and industries, featuring positions from top companies worldwide.
• 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
Twine
eversynced