Full Stack Engineer; AI Engineering: Duo Client SDK, TypeScript
Job in
Montréal, Province de Québec, H2B, Canada
Listed on 2026-10-25
Listing for:
GitLab
Full Time
position Listed on 2026-10-25
Job specializations:
-
Software Development
Backend Developer, Front End Developer, Full Stack Developer, Software Engineer
Job Description & How to Apply Below
As a Fullstack Engineer on the Duo Client SDK team at Git Lab, you’ll build the shared foundation for every Git Lab Duo client
Today, the logic that powers Duo in editors lives inside the Git Lab Language Server. We’re extracting it into a true software development kit (SDK): a set of well-versioned Type Script packages that editor extensions, our web-based Duo Chat on , and eventually external applications can use
You’ll work in Type Script across frontend and backend systems. You’ll design the SDK’s Node.js core and public application programming interface (API), and work in the clients that use it
The work rewards care about interfaces, versioning, and backward compatibility as much as features because other engineers will depend on what you build
You’ll have senior and staff engineers alongside you to help with design. You’ll own the implementation of scoped packages and ship improvements with minimal guidance while collaborating with the team on larger architectural changes
Develop secure, well-tested, and performant Type Script features that solve technical problems of moderate scope and complexity
Ship small features and improvements with minimal guidance, writing tests with every merge request and contributing to code reviews and design discussions
Extract and publish Type Script packages from the Git Lab Language Server, migrating consumers incrementally so no parallel implementation is left to drift
Design durable public APIs with clear interfaces, semantic versioning, change logs, and deprecation paths for external consumers
Build isomorphic core packages that isolate platform-specific behavior in adapters at the edges
Build and improve SDK client surfaces, including Vue 3 components in Duo Chat on the web, in collaboration with product, design, and engineering teams
Strengthen credential handling across hosts, including bearer tokens, session cookies, and CSRF protection
Optimize bundle size, startup cost, and dependency weight for browser consumers, and support a Tier 2 on-call rotation for urgent engineering issues
Some examples of our projects:
The Duo Client SDK, extracting versioned, publishable packages from the Git Lab Language Server
The Git Lab Language Server, rebuilt on top of the SDK as our polyglot surface
Duo Chat on the web, as one of the SDK’s first consumers
The Duo Client SDK team sits in Git Lab’s AI Clients stage and works closely with teams building Git Lab Duo experiences
We collaborate across client surfaces to make thoughtful technical decisions as the platform evolves. We work fully remotely and asynchronously across regions, in the open, following Git Lab’s values of transparency and open communication
Benefits We offer benefits to manage your health, wealth, and well-being regardless of location
Flexibility in schedule to be there for life’s important moments
Equity compensation & Employee Stock Purchase Plan offered
Generous Paid Time Off
Experience with modern build and packaging tools, including monorepos, multi-module builds, ECMAScript modules (ESM), and dependency management
A security-minded development approach, including careful credential handling and performance optimization
Experience with Vue 3 and the Composition API, or comparable component-based frontend experience and a willingness to learn Vue
Self-motivation, strong organizational skills, and the judgment to ask for help when needed while thriving in a fully remote organization aligned with Git Lab’s values
Ability to communicate clearly and concisely in writing about technical problems, propose iterative solutions, and work effectively in an agile environment
Strong proficiency with Type Script across frontend and backend systems, including experience building and maintaining Node.js services
Experience designing APIs that other people use, with the ability to explain what you’d do differently
Understanding of the differences between running code in Node.js and in the browser, and how to write code that works in both
Please note that we welcome interest from candidates with varying levels of experience; many successful candidates do not meet every single requirement
Additionally, studies have shown that people from underrepresented groups are less likely to apply to a job unless they meet every single qualification.
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
Search for further Jobs Here:
×