Senior Software Engineer (Typescript), AI Clients: Duo CLI
About the role
An overview of this role
As a Senior Software Engineer on the Duo CLI functional team, part of the AI 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
- GitLab Duo CLI
- GitLab Duo Language Server
- GitLab Duo plugin for JetBrains IDEs
- GitLab Duo extension for VS Code
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 shared features, components, or cross-platform consistency call for it.