Staff Software Engineer
An overview of this role
As a Staff Software Engineer, you’ll be the founding engineer for a new functional team that owns glab, GitLab’s Go-based command-line interface (CLI) and a key part of our Developer Clients strategy. You’ll guide its technical direction end to end, owning architecture, implementation, roadmap execution, and day-to-day technical choices. You’ll serve a highly technical developer audience and an engaged open source community while working as a self-directed staff engineer in an IC role with minimal guidance.
You’ll work within the Developer Clients group in GitLab’s AI Clients stage, collaborating with engineers across the GitLab Duo CLI and integrated development environment (IDE) extensions. The role is based in Bangalore..
What you’ll do
- Guide the technical direction of glab, owning its architecture, implementation, and evolution.
- Design and ship terminal-first features and workflows in Go, with close attention to developer experience, performance, scripting-friendly output, and backwards compatibility.
- Absorb multiple changing inputs from Product, the open source community, and internal teams, re-prioritize as needs change, and keep shipping iterative improvements.
- Partner with Product Management to shape and execute the roadmap by framing problems, making clear trade-offs, and turning feedback into focused, high-impact changes.
- Steer the open source project and community by triaging issues, reviewing and merging contributions, upholding a high quality bar, and saying no respectfully while keeping contributors engaged.
- Work with other Developer Clients teams, including GitLab Duo CLI and IDE extensions, so glab works well with the broader GitLab developer experience and common capabilities.
- Contribute to TypeScript- or JavaScript-based developer tools when features or common components span multiple Developer Clients teams.
- Establish engineering practices for the new functional team and track glab adoption, release quality, and open source community health metrics to guide roadmap and engineering choices.
What you’ll bring
- Significant professional experience with Go and building command-line interfaces or systems-level tools, including thoughtful command and flag design, clear terminal experiences, scripting-friendly output, backwards compatibility, and distribution across Linux, macOS, and Windows.
- A sustained history of open source contributions through issues, merge requests, and reviews, ideally including project triage or maintainership.
- Proven ability to operate as a self-directed owner who can absorb multiple and frequently changing inputs, re-prioritize with discretion, and continue delivering.
- Strong product and user experience instincts for developer workflows, including the ability to frame problems, simplify scope, make clear trade-offs, and say no or "not yet" when it improves the overall experience.a
- Experience setting technical direction and influencing work across teams in an IC role.
- Experience collaborating transparently across teams in a remote, asynchronous environment.
- Additional experience with TypeScript or JavaScript developer tools, AI-powered developer tools or agents, and plugin or extensibility architectures.
- A background in developer tooling, such as CLIs, SDKs, internal platforms, CI/CD, or IDE integrations, is preferred.
- Familiarity with AI coding assistants (GitLab Duo, Claude Code, GitHub Copilot, or comparable tools) as part of a modern developer toolkit.
About the team
We are about nine engineers in the Developer Clients group and part of the AI Clients stage, which has about 20 engineers. We work across the GitLab CLI, GitLab Duo CLI, and JetBrains and Visual Studio Code IDE extensions. We operate as a broader team, hold a weekly sync, and encourage engineers to collaborate across team boundaries.