SDK (Software Development Kits) Engineer, FGA DevEx (Canada/Remote)

Overview

Hybrid
$0+
Contract - W2
Contract - 6 Month(s)

Skills

SDK
.NET
Docker
Go
Python

Job Details

Title: SDK Engineer, FGA DevEx

Location: Remote (CANADA based candidates only)

Duration: 6 months contract+

Duties:

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 offerings remain robust, consistent, and performant across all supported languages.

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:
    • Client Credentials token exchange mechanisms.
    • Robust error mapping and error handling.
    • Sophisticated retry logic with jitter to effectively handle rate limiting or server unavailability.
    • 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 OpenFgaClient 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.

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.

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.

About Javen Technologies, Inc