GitLab Logo

GitLab

Fullstack Engineer (TypeScript), AI Engineering: Duo Client SDK

Posted 4 Hours Ago
Easy Apply
Remote
Hiring Remotely in Canada
Entry level
Easy Apply
Remote
Hiring Remotely in Canada
Entry level
Build and maintain the TypeScript-based Duo Client SDK, including Node.js core packages, public APIs, browser-compatible modules, Vue 3 client components, and platform adapters. Responsibilities include migrating consumers from the GitLab Language Server, managing versioning and deprecation paths, strengthening credential security, optimizing browser performance, writing tests, conducting code reviews, and participating in on-call support.
The summary above was generated by AI

GitLab is the intelligent orchestration platform for DevSecOps. GitLab enables organizations to increase developer productivity, improve operational efficiency, reduce security and compliance risk, and accelerate digital transformation. More than 50 million registered users and more than 50% of the Fortune 100* trust GitLab to ship better, more secure software faster.

The same principles built into our products are reflected in how our team works: we embrace AI as a core productivity multiplier, with all team members expected to incorporate AI into their daily workflows to drive efficiency, innovation, and impact. GitLab is where careers accelerate, innovation flourishes, and every voice is valued. Our high-performance culture is driven by our values and continuous knowledge exchange, enabling our team members to reach their full potential while collaborating with industry leaders to solve complex problems. Co-create the future with us as we build technology that transforms how the world develops software.

*Fortune 500® is a registered trademark of Fortune Media IP Limited, used under license. Claim based on GitLab data. Fortune 100 refers to the top 20% ranked companies in the 2025 Fortune 500 list, published in June 2025. Fortune and Fortune Media IP Limited are not affiliated with, and do not endorse products or services of GitLab.

An overview of this role

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.

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
What you'll do
  • 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 clear 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.
What you'll bring
  • Strong proficiency with TypeScript across frontend and backend systems, including experience building and maintaining Node.js services.
  • Experience with modern build and packaging tools, including monorepos, multi-module builds, ECMAScript modules (ESM), and dependency management.
  • Experience with Vue 3 and the Composition API, or comparable component-based frontend experience and a willingness to learn Vue.
  • 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.
  • A security-minded development approach, including careful credential handling and performance optimization.
  • Ability to communicate clearly and concisely in writing about technical problems, propose iterative solutions, and work effectively in an agile environment.
  • 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.
About the team

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.

 
Remote-Global

The base salary range for this role’s listed level is currently for residents of the United States only. This range is intended to reflect the role's base salary rate in locations throughout the US. Grade level and salary ranges are determined through interviews and a review of education, experience, knowledge, skills, abilities of the applicant, equity with other team members, alignment with market data, and geographic location. The base salary range does not include any bonuses, equity, or benefits. See more information on our benefits and equity. Sales roles are also eligible for incentive pay targeted at up to 100% of the offered base salary.

United States Salary Range
$115,200$194,400 USD
How GitLab Supports Full-Time Employees
  • Benefits to support your health, finances, and well-being
  • Flexible Paid Time Off 
  • Team Member Resource Groups
  • Equity Compensation & Employee Stock Purchase Plan
  • Growth and Development Fund
  • Parental Leave 

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. If you're excited about this role, please apply and allow our recruiters to assess your application.

Country Hiring Guidelines: GitLab hires new team members in countries around the world. All of our roles are remote, however some roles may carry specific location-based eligibility requirements. Our Talent Acquisition team can help answer any questions about location after starting the recruiting process.  

Privacy Policy: Please review our Recruitment Privacy Policy. Your privacy is important to us.

GitLab is proud to be an equal opportunity workplace and is an affirmative action employer. GitLab’s policies and practices relating to recruitment, employment, career development and advancement, promotion, and retirement are based solely on merit, regardless of race, color, religion, ancestry, sex (including pregnancy, lactation, sexual orientation, gender identity, or gender expression), national origin, age, citizenship, marital status, mental or physical disability, genetic information (including family medical history), discharge status from the military, protected veteran status (which includes disabled veterans, recently separated veterans, active duty wartime or campaign badge veterans, and Armed Forces service medal veterans), or any other basis protected by law. GitLab will not tolerate discrimination or harassment based on any of these characteristics. See also GitLab’s EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know during the recruiting process.

Similar Jobs at GitLab

7 Hours Ago
Easy Apply
Remote
Canada
Easy Apply
Entry level
Entry level
Cloud • Security • Software • Cybersecurity • Automation
Build and maintain Ruby on Rails backend features for vulnerability management, including security dashboards, reports, and ingestion pipelines. Improve system performance, reliability, and scalability; collaborate across backend, frontend, product, design, and security teams; review code; address technical debt; and participate in on-call rotations. The role requires relational database experience, distributed-team collaboration, technical problem-solving, and contributions across the stack when needed.
Top Skills: ElasticsearchGraph DatabasesJavaScriptPostgresRubyRuby On RailsVue
Yesterday
Easy Apply
Remote
Canada
Easy Apply
Senior level
Senior level
Cloud • Security • Software • Cybersecurity • Automation
Lead GitLab’s Security Posture Management team within Product Security. Drive governed security capability rollouts across the software estate, establish secure configuration baselines, build software supply chain security, manage risk registers and posture metrics, support audit evidence, and provide customer-zero feedback to Product and Engineering. Hire, coach, and develop the team while representing GitLab’s security practices externally and driving measurable risk reduction in a remote, asynchronous environment.
Top Skills: DevsecopsGitlabSoftware Bill Of Materials (Sbom)
Yesterday
Easy Apply
Remote
Canada
Easy Apply
Entry level
Entry level
Cloud • Security • Software • Cybersecurity • Automation
Build and maintain the Python-based backend engine for GitLab Duo Chat, including agentic LangGraph flows, the Flow Registry, and Duo Workflow Service. Integrate chat capabilities with GitLab’s Rails monolith and GraphQL API, develop secure and tested high-scale features, optimize performance, review code, address technical debt, and collaborate cross-functionally. Participate in weekday, weekend, and occasional nighttime Tier 2 or Tier 3 on-call rotations.
Top Skills: Duo Workflow ServiceGitlab RailsGraphQLLangchainLanggraphLarge Language ModelsPythonRspecRuby On Rails

What you need to know about the Montreal Tech Scene

With roots dating back to 1642, Montreal is often recognized for its French-inspired architecture and cobblestone streets lined with traditional shops and cafés. But what truly sets the city apart is how it blends its rich tradition with a modern edge, reflected in its evolving skyline and fast-growing tech industry. According to economic promotion agency Montréal International, the city ranks among the top in North America to invest in artificial intelligence, making it le spot idéal for job seekers who want the best of both worlds.

Key Facts About Montreal Tech

  • Number of Tech Workers: 255,000+ (2024, Tourisme Montréal)
  • Major Tech Employers: SAP, Google, Microsoft, Cisco
  • Key Industries: Artificial intelligence, machine learning, cybersecurity, cloud computing, web development
  • Funding Landscape: $1.47 billion in venture capital funding in 2024 (BetaKit)
  • Notable Investors: CIBC Innovation Banking, BDC Capital, Investissement Québec, Fonds de solidarité FTQ
  • Research Centers and Universities: McGill University, Université de Montréal, Concordia University, Mila Quebec, ÉTS Montréal

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account