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

at GitLab
📍 Poland
PLN 272,000-408,000 per year
SENIOR
✅ Remote

Tech Stack

AI Communication @ 6 Kotlin @ 4 Leadership @ 4 Observability Security @ 4 Technical Leadership @ 4 TypeScript @ 4

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.

More jobs at GitLab

Similar jobs