Senior Backend Engineer
Job description
About the role
This role within the DAP Repository Flows team shapes how GitLab delivers AI-powered automation on repositories through the Duo Agent Platform. You own end-to-end feature delivery and agent design to drive faster, secure software development for millions of registered users. The role operates in a distributed, async-first environment where AI is embraced as a core productivity multiplier.
Software engineers turn product ideas into working code. Engineers work in small teams, review each other's work, and ship in small batches. Most teams follow agile practices such as sprints and daily standups. Engineers also write tests, fix bugs, and improve performance. The field values clear communication as much as technical skill. Engineers spend part of every week on planning, code review, and debugging, not just writing new code. The ability to explain a technical decision in plain words separates strong engineers from the rest.
Key facts
What you'll do
This enables customers to configure projects and become productive quickly. Shared interfaces and patterns are established through engineering collaboration across the DAP organization. Designs and code are reviewed, and technical quality is advanced by the team.
Requirements
Hands-on experience with Ruby and Ruby on Rails in production systems is mandatory. Integrating LLMs into products, focusing on product integration instead of ML model training, is expected. Building agentic systems, meaning autonomous or semi-autonomous agents that take actions on a user's behalf, is required. A track record of designing and shipping features independently within a collaborative team is required. Effective written communication enables operation in a distributed, async-first environment.
Nice to have
Shipping features within AI-assisted workflows is valued. Familiarity with DevSecOps platforms and security compliance considerations is beneficial. Background in orchestration platforms or agent tooling is a plus.
Skills & tools
Ruby, Ruby on Rails, and related web frameworks are central to this work. Agentic platforms such as the Duo Agent Platform are primary tools. Collaboration happens through GitLab issues and Slack across a distributed team.
Practical notes
This role is fully remote with eligibility tied to country hiring guidelines. US citizenship or permanent residency is required for visa sponsorship. The team operates asynchronously with a strong expectation for high context sharing. Typical interview steps
Hiring for engineering roles usually starts with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions. Some loops include a take-home task. Final rounds typically cover team fit and give candidates a chance to ask questions. Interviewers look for how you break down an unfamiliar problem, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation.
Good to know
Questions to ask
Useful questions for the interview: what a typical week looks like, how work is assigned, what tools the team uses, and how feedback works. Asking how the role has changed recently and what the team wishes it had known when joining is also reasonable. Questions about the manager's priorities are especially valued.
Career growth
Engineering careers usually progress from individual contributor to senior, staff, and principal levels. Some engineers move into management and lead teams of five to twenty people. Others stay on the technical track. Growth follows demonstrated impact, not tenure alone. A typical engineering ladder has clear levels with defined expectations for scope, quality, and mentorship. Moving up usually requires owning outcomes end to end rather than completing assigned tickets.