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

How your CV stacks up
Upload your CV to see how well it fits this job role
?%
GitLab is the intelligent orchestration platform for DevSecOps
GitLab enables organizations to increase developer productivity, improve operational efficiency, reduce security and compliance risk, and accelerate digital transformation. More than 50 million registered users and more than 50% of the Fortune 100* trust GitLab to ship better, more secure software faster.
The same principles built into our products are reflected in how our team works: we embrace AI as a core productivity multiplier, with all team members expected to incorporate AI into their daily workflows to drive efficiency, innovation, and impact. GitLab is where careers accelerate, innovation flourishes, and every voice is valued. Our high-performance culture is driven by our values and continuous knowledge exchange, enabling our team members to reach their full potential while collaborating with industry leaders to solve complex problems. Co-create the future with us as we build technology that transforms how the world develops software.
*Fortune 500® is a registered trademark of Fortune Media IP Limited, used under license. Claim based on GitLab data. Fortune 100 refers to the top 20% ranked companies in the 2025 Fortune 500 list, published in June 2025. Fortune and Fortune Media IP Limited are not affiliated with, and do not endorse products or services of GitLab.
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.
Reasons to use Rodeo
I’m in my final year doing Economics and I don’t know whether to apply for grad schemes now or do a masters first. What do you think?
Honest answer — it depends on where you want to end up. A lot of top grad schemes (Big 4, civil service, banking) don’t need a masters. Let’s look at the ones you’d be competitive for now, and we can decide if a masters actually adds anything.
Also worth knowing: most autumn 2026 applications are open now. Timing matters more than you think.
Start with a chat, not a search bar
Grad scheme, placement, apprenticeship? Not sure what you want yet — that's fine. Your agent talks it through with you and turns "I have no idea" into a shortlist.
Graduate Consultant — 2026 Scheme
Why you're a good match
StrongYour economics background and your summer at a regional bank line up with what PwC looks for on the consulting scheme. Applications close in four weeks.
See breakdownIt searches the market for you
Every day your agent scans the market matching roles against what actually matters to you, not just keywords on a CV.
Why you're a good match
You’ve got the grades and the economics background, and your bank internship is exactly the experience this scheme looks for. Apply soon — deadlines close within the month.
Experience fit
Your summer at the bank plus your econometrics coursework map directly to the day-one responsibilities on this scheme — client modelling, market briefings, and deal support.
Only hits
No noise. No "maybe this fits." Just roles with a clear explanation of why they're right — and where to focus when applying.
Some examples of our projects:
- Duo CLI
- GitLab 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 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.


Get help with your application
Your very own career expert that helps elevate your application to the next level.
How GitLab Supports Full-Time Employees
Benefits to support your health, finances, and well-being
- Flexible Paid Time Off
- Team Member Resource Groups
- Equity Compensation & Employee Stock Purchase Plan
- Growth and Development Fund
- Parental Leave
Please note that we welcome interest from candidates with varying levels of experience; many successful candidates do not meet every single requirement. Additionally, studies have shown that people from underrepresented groups are less likely to apply to a job unless they meet every single qualification. If you're excited about this role, please apply and allow our recruiters to assess your application.
Country Hiring Guidelines
GitLab hires new team members in countries around the world. All of our roles are remote, however some roles may carry specific location-based eligibility requirements. Our Talent Acquisition team can help answer any questions about location after starting the recruiting process.
Privacy Policy
Please review our Recruitment Privacy Policy. Your privacy is important to us.
Equal Opportunity Workplace
GitLab is proud to be an equal opportunity workplace and is an affirmative action employer. GitLab’s policies and practices relating to recruitment, employment, career development and advancement, promotion, and retirement are based solely on merit, regardless of race, color, religion, ancestry, sex (including pregnancy, lactation, sexual orientation, gender identity, or gender expression), national origin, age, citizenship, marital status, mental or physical disability, genetic information (including family medical history), discharge status from the military, protected veteran status (which includes disabled veterans, recently separated veterans, active duty wartime or campaign badge veterans, and Armed Forces service medal veterans), or any other basis protected by law. GitLab will not tolerate discrimination or harassment based on any of these characteristics. See also GitLab’s EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know during the recruiting process.
“It took my CV and asked me questions relevant to understanding what kind of jobs to suggest for me. Suggestions were almost perfect. Jobs were exactly what I’ve been looking for.”
Jessica, London
Skills
Location