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

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

Moffat Full-Time 63000 - 77000 £ / year (est.) Working from home possible
GitLab

At a Glance

  • Tasks: Design and build innovative tools for developers using TypeScript and AI technology.
  • Company: Join GitLab, a leading platform in DevSecOps with a focus on collaboration and innovation.
  • Benefits: Enjoy flexible paid time off, equity compensation, and a supportive remote work environment.
  • Other info: Be part of a diverse team that values every voice and promotes continuous growth.
  • Why this job: Make a real impact by shaping the future of developer tools and enhancing productivity.
  • Qualifications: Strong TypeScript skills and experience with command-line tools are essential.

The predicted salary is between 63000 - 77000 £ per year.

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.

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.

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.

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.

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, or any other basis protected by law. GitLab will not tolerate discrimination or harassment based on any of these characteristics.

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

At GitLab, we pride ourselves on being an exceptional employer that fosters a collaborative and innovative work culture. As a Site Reliability Engineer, you will have access to extensive growth opportunities, working alongside experienced professionals in a dynamic environment that values your contributions. Our commitment to employee well-being and development, combined with the chance to work on cutting-edge technology in a supportive atmosphere, makes GitLab a truly rewarding place to advance your career.

GitLab

Contact Details:

GitLab Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Senior Software Engineer (Typescript), AI Clients: Duo CLI in Moffat

Join Local Tech Meetups

Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at GitLab or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!

Contribute to Open Source Projects

Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to GitLab.

Tap into Online Developer Communities

Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like GitLab.

Explore Job Boards Specifically for Tech Roles

Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like GitLab that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!

We think you need these skills to ace Senior Software Engineer (Typescript), AI Clients: Duo CLI in Moffat

TypeScript
Command-Line Interface Design
Developer Tooling
Architectural Decision Making
Code Review
Mentorship
Clear Written and Spoken English Communication

Some tips for your application 🫡

Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.

Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at GitLab.

Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at GitLab and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!

Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!

How to prepare for a job interview at GitLab

Brush Up on Your Coding Skills

For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.

Know Your Tools and Frameworks

Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If GitLab uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.

Showcase Your Projects

Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.

Prepare for Behavioural Questions

While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.