25 Oct
|
GitLab
|
Quebec City
25 Oct
GitLab
Quebec City
As a Fullstack Engineer on the Duo Client SDK team at GitLab, you’ll build the shared foundation for every GitLab Duo client
Today, the logic that powers Duo in editors lives inside the GitLab Language Server. We’re extracting it into a true software development kit (SDK): a set of well-versioned TypeScript packages that editor extensions, our web-based Duo Chat on GitLab.com, and eventually external applications can use
You’ll work in TypeScript 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 TypeScript 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 TypeScript packages from the GitLab Language Server, migrating consumers incrementally so no parallel implementation is left to drift
Design durable public APIs with transparent interfaces, semantic versioning, changelogs, 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 GitLab Language Server
The GitLab 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 GitLab’s AI Clients stage and works closely with teams building GitLab 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 GitLab’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 GitLab’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 TypeScript 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.
#J-18808-Ljbffr
📌 Full Stack Engineer (AI Engineering: Duo Client SDK, TypeScript) (Quebec City)
🏢 GitLab
📍 Quebec City