Enable job alerts via email!

SDK Engineer

ITCO Solutions

Ontario

Remote

CAD 70,000 - 90,000

Full time

Today
Be an early applicant

Job summary

A technology solutions company is looking for an experienced SDK Engineer to join their remote team. You will support and enhance SDKs in various languages including Go, JavaScript, and Python. Responsibilities include maintaining SDKs, developing tests, and optimizing CI processes. Ideal candidates will have 2-5 years of experience and proficiency in multiple programming languages. Strong collaboration and problem-solving skills are essential.

Qualifications

  • 2-5 years of experience as an SDK Developer or in a similar role.
  • Proficiency in at least one of the following: Go, JavaScript, C#, Python, or Java.
  • Understanding of SDK development principles and best practices.

Responsibilities

  • Maintain and enhance existing SDKs for FGA.
  • Implement and improve core SDK features.
  • Develop comprehensive tests for SDK methods.

Skills

SDK Development
Proficiency in Go, JavaScript, .NET, Python, or Java
Robust error handling
Collaboration skills
Problem-solving skills

Tools

GitHub Actions
Docker
OpenAPI Generator
Job description
Overview

Location: Canada (remote)

SDK Engineer, FGA DevEx

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.
Nice to have's
  • Helm charts + K8s
  • IDE Tooling
  • Bonus but not replacements of the core ask

E-Verify: United States Employment Opportunities Only

E-Verify is an internet-based system operated by the Department of Homeland Security and the Social Security Administration and allows employers to confirm an individual’s employment eligibility to work in the United States. Under the E-Verify rules, effective September 8, 2009, federal agencies subject to the Federal Acquisition Regulation are required to modify, and include in new contracts, a provision that requires federal contractors and subcontractors to use E-Verify. ITCO Solutions is required to adhere to these requirements.

This message is intended for the use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.