Senior Software Engineer (TypeScript), AI Clients: Duo CLI
Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
AI
Communication @ 6
Kotlin @ 4
Leadership @ 4
Observability
Security @ 4
Technical Leadership @ 4
TypeScript @ 4
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Details
GitLab is seeking a Senior Software Engineer to join the Duo CLI functional team within the Developer Clients group and AI Clients stage. The role focuses on designing and building tools that bring GitLab Duo into developers' daily terminal workflows. You will work primarily in TypeScript across frontend and backend systems, make architectural decisions about the CLI's future direction, and contribute to related developer client projects when needed.
The position involves technical leadership, collaboration across engineering teams, and maintaining high standards for code quality, performance, reliability, security, and developer experience. GitLab operates as a fully remote, largely asynchronous organization.
Responsibilities
- Own the design, development, evolution, rollout, and iteration of GitLab Duo CLI features, from problem definition with Product through implementation and feedback measurement.
- Build interactive terminal experiences in TypeScript, including command and flag design, output formatting, scripting-friendly behavior, and backward compatibility.
- Drive reliability, observability, and performance improvements for the CLI.
- Measure reliability and performance metrics and reduce technical debt as the product grows.
- Collaborate with Product, Design, and engineers across Developer Clients and the wider AI Clients stage.
- Make technical decisions aligned with GitLab's broader strategy and long-term architecture.
- Champion product quality, security, and developer experience through thoughtful code reviews and mentorship.
- Contribute to IDE extension work when useful, including the JetBrains plugin in Kotlin and the VS Code extension in TypeScript.
Requirements
- 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.
- Experience with command and flag design, terminal user interfaces, output formatting, scripting-friendly behavior, and backward compatibility.
- Experience owning technical problems end to end, making architectural trade-offs, and guiding engineers through code reviews and mentorship.
- Clear written and spoken English communication skills.
- 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, is helpful but not required.
- Understanding of the Language Server Protocol, language servers, or editor integrations is helpful but not required.
Projects
Examples of projects include:
- Duo CLI
- GitLab Language Server
- GitLab Duo plugin for JetBrains IDEs
- GitLab Duo extension for VS Code
Team
The broader Developer Clients group includes the VS Code and JetBrains functional teams. The team holds a weekly sync and encourages collaboration across team boundaries when it benefits the shared developer experience. Engineers partner closely with Product, Design, and engineering teams across AI Clients to align on long-term architecture and deliver iterative improvements.
Benefits
- Benefits supporting health, finances, and well-being
- Flexible paid time off
- Team Member Resource Groups
- Equity compensation and Employee Stock Purchase Plan
- Growth and Development Fund
- Parental leave
All GitLab roles are remote, although some roles may carry specific location-based eligibility requirements. GitLab is an equal opportunity workplace.