gitlab logo

Senior Software Engineer (Typescript), AI Clients: Duo CLI

gitlab Remote, Poland; Remote, United Kingdom


No Relocation

Posted: August 12, 2026

Job Description

An overview of this role

As a Senior Software Engineer on the Duo CLI functional team, part of the Developer Clients group within GitLab's AI Clients stage, you'll design and build tools that bring GitLab Duo into developers' daily terminal workflows. You'll shape AI-assisted experiences across GitLab Duo CLI and its supporting infrastructure, working mainly in TypeScript across the frontend and backend and making key architectural decisions about the CLI's future direction. You'll also have opportunities to contribute across Developer Clients, including our JetBrains plugin in Kotlin and our VS Code extension in TypeScript, when shared features, components, or cross-platform consistency call for it.

You'll provide technical leadership by breaking down complex problems, aligning on long-term direction, and maintaining a high bar for code quality, performance, and reliability. You'll collaborate closely with engineers across Developer Clients and the wider AI Clients stage, including the Duo Client SDK and Duo Chat groups, to make GitLab Duo fast, intuitive, and deeply integrated wherever developers work.

Some examples of our projects:

What you’ll do

  • Own the design, development, and evolution of GitLab Duo CLI features from problem definition with Product through implementation, rollout, and iteration, measuring success through feature usage and feedback.
  • Build interactive terminal experiences in TypeScript, with careful command and flag design, clear output formatting, scripting-friendly behavior, and backward compatibility.
  • Drive reliability, observability, and performance improvements for the CLI, measuring progress through reliability and performance metrics while reducing technical debt as the product and its usage grow.
  • Collaborate with Product, Design, and engineers across Developer Clients and the wider AI Clients stage to align technical decisions with GitLab's broader strategy.
  • Champion product quality, security, and developer experience through thoughtful reviews and mentorship.
  • Contribute to IDE extension work across the group when useful, including the JetBrains plugin in Kotlin and the VS Code extension in TypeScript.

What you’ll bring

  • Strong proficiency in TypeScript and an interest in developer tooling and command-line interface design.
  • Experience building or maintaining command-line tools or other developer-facing tooling, including command and flag design, terminal user interfaces, output formatting, scripting-friendly behavior, and backward compatibility.
  • Experience owning technical problems end to end, making sound architectural trade-offs, and guiding other engineers through code reviews and mentorship.
  • Clear written and spoken English communication skills and comfort working in a fully remote, largely asynchronous environment.
  • Alignment with GitLab's values and commitment to an inclusive culture.
  • Experience with IDE extension development, such as JetBrains plugins in Kotlin or VS Code extensions, and understanding of the Language Server Protocol (LSP), language servers, or editor integrations are helpful but not required.

About the team

Our broader Developer Clients group includes the VS Code and JetBrains functional teams. We hold a weekly sync and encourage engineers to collaborate across team boundaries when it benefits the shared developer experience. We're fully remote and work largely asynchronously, partnering closely with Product, Design, and engineering teams across AI Clients to align on long-term architecture and deliver iterative improvements.

Additional Content

An overview of this role

As a Senior Software Engineer on the Duo CLI functional team, part of the Developer Clients group within GitLab's AI Clients stage, you'll design and build tools that bring GitLab Duo into developers' daily terminal workflows. You'll shape AI-assisted experiences across GitLab Duo CLI and its supporting infrastructure, working mainly in TypeScript across the frontend and backend and making key architectural decisions about the CLI's future direction. You'll also have opportunities to contribute across Developer Clients, including our JetBrains plugin in Kotlin and our VS Code extension in TypeScript, when shared features, components, or cross-platform consistency call for it.

You'll provide technical leadership by breaking down complex problems, aligning on long-term direction, and maintaining a high bar for code quality, performance, and reliability. You'll collaborate closely with engineers across Developer Clients and the wider AI Clients stage, including the Duo Client SDK and Duo Chat groups, to make GitLab Duo fast, intuitive, and deeply integrated wherever developers work.

Some examples of our projects:

What you’ll do

  • Own the design, development, and evolution of GitLab Duo CLI features from problem definition with Product through implementation, rollout, and iteration, measuring success through feature usage and feedback.
  • Build interactive terminal experiences in TypeScript, with careful command and flag design, clear output formatting, scripting-friendly behavior, and backward compatibility.
  • Drive reliability, observability, and performance improvements for the CLI, measuring progress through reliability and performance metrics while reducing technical debt as the product and its usage grow.
  • Collaborate with Product, Design, and engineers across Developer Clients and the wider AI Clients stage to align technical decisions with GitLab's broader strategy.
  • Champion product quality, security, and developer experience through thoughtful reviews and mentorship.
  • Contribute to IDE extension work across the group when useful, including the JetBrains plugin in Kotlin and the VS Code extension in TypeScript.

What you’ll bring

  • Strong proficiency in TypeScript and an interest in developer tooling and command-line interface design.
  • Experience building or maintaining command-line tools or other developer-facing tooling, including command and flag design, terminal user interfaces, output formatting, scripting-friendly behavior, and backward compatibility.
  • Experience owning technical problems end to end, making sound architectural trade-offs, and guiding other engineers through code reviews and mentorship.
  • Clear written and spoken English communication skills and comfort working in a fully remote, largely asynchronous environment.
  • Alignment with GitLab's values and commitment to an inclusive culture.
  • Experience with IDE extension development, such as JetBrains plugins in Kotlin or VS Code extensions, and understanding of the Language Server Protocol (LSP), language servers, or editor integrations are helpful but not required.

About the team

Our broader Developer Clients group includes the VS Code and JetBrains functional teams. We hold a weekly sync and encourage engineers to collaborate across team boundaries when it benefits the shared developer experience. We're fully remote and work largely asynchronously, partnering closely with Product, Design, and engineering teams across AI Clients to align on long-term architecture and deliver iterative improvements.