Backend Engineer (Ruby), Create: Change Record
GitLab · Remote, Poland; Remote, United Kingdom
Full Time ·
Job description
<div class="content-intro"><p>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.</p>
<p>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. <a href="https://www.youtube.com/watch?v=OuZIb5zszQI">Co-create the future with us</a> as we build technology that transforms how the world develops software.</p>
<p>*<em>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.</em></p></div><h2><strong>An overview of this role</strong></h2>
<p>We are looking for a Backend Engineer to join our <a href="https://handbook.gitlab.com/handbook/engineering/devops/create/source-code/change-record/">Change Record</a> team within GitLab’s <a href="https://handbook.gitlab.com/handbook/engineering/devops/create/source-code/">Source Code stage</a>. As AI agents increasingly write code alongside people, every change needs a clear, trustworthy record of what changed, why, and who or what made it. You’ll build that record into GitLab’s source code experience, for humans and agents alike. This is a backend-focused role for an engineer with full-stack experience who enjoys balancing work on existing systems with new product development.</p>
<p>That work happens in one of GitLab’s oldest and most complex product areas, where you’ll use Ruby on Rails to improve a critical system serving GitLab.com, self-managed instances, and GitLab Dedicated. Source Code provides the interface layer, through Gitaly, to the Git repositories behind a large share of GitLab traffic, so you’ll help keep it reliable through performance tuning, caching, rate limiting, observability, and resiliency, collaborating with product, design, security, Gitaly, Code Review, and Source Code Experience teams. Supporting production systems and improving established experiences are central to the role, especially while you’re onboarding, and over time you’ll also help build experiences for developers working with agents.</p>
<p>You'll work remotely from the United Kingdom or Poland.</p>
<p><strong>What you’ll do</strong></p>
<ul>
<li>Develop secure, well-tested, performant features and improvements using Ruby on Rails and GraphQL, among other technologies.</li>
<li>Work through complex requirements and legacy constraints to deliver clear solutions while protecting the reliability of this critical system.</li>
<li>Design and maintain backend services, APIs, data models, and business logic that support intuitive source code workflows.</li>
<li>Collaborate across functions and teams, both asynchronously and synchronously, and involve domain experts when their input will improve the outcome.</li>
<li>Use AI agents for well-scoped work when they can speed up delivery without sacrificing quality, and critically review their output.</li>
<li>Write maintainable code that follows GitLab's standards and contribute to constructive code reviews.</li>
<li>Help strengthen reliability by monitoring production health metrics, participating in Tier 2 on-call, troubleshooting incidents, contributing to root cause analysis, and improving observability and resiliency.</li>
<li>Share knowledge through code review, technical documentation, and everyday collaboration while learning from others.</li>
</ul>
<h2><strong>What you’ll bring</strong></h2>
<ul>
<li>Professional experience building backend web applications, services, or application programming interfaces, with experience using Ruby and GraphQL.</li>
<li>An understanding of relational databases, structured query language, data modeling, caching, background processing, and backend performance practices.</li>
<li>Experience with full-stack development to build and maintain user-facing workflows and their underlying systems.</li>
<li>Experience writing backend unit and integration tests, with familiarity with the testing pyramid, Git, and collaborative code review processes.</li>
<li>Clear written and spoken English communication skills, including sharing useful status updates in a remote, asynchronous environment.</li>
<li>The ability to manage assigned priorities, work through ambiguity, take ownership of your work, and seek guidance when needed.</li>
<li>Experience using AI coding agents to speed up software development while critically reviewing their output.</li>
<li>Bonus: you’ve built agents or agent-based workflows that run in production, not just prototypes.</li>
</ul>
<p><strong>About the team</strong></p>
<p>The functional team works across Europe and North America, supporting both synchronous and asynchronous collaboration. It includes four engineers, comprising both backend and frontend engineers. We work closely with other Source Code teams, Agentic Preview, Repository Services, and Hardening, as well as other teams in the company such as the Gitaly team, and the AI Governance team.</p>
<p> </p>
<p><em>The base salary range for this role’s listed level is currently for residents of the EU, applicable in the specified country or countries only. Sales roles are also eligible for incentive pay targeted at up to 100% of the offered base salary. Grade level and salary ranges are determined through interviews and a review of education, experience, knowledge, skills, abilities of the applicant, equity with other team members, alignment with market data, and geographic location and having regard to any applicable collective agreements. The base salary range does not include bonuses, equity, or benefits.</em></p>
<p><em><strong>Poland base salary range:</strong> 248,000zł - 372,000zł</em></p><div class="content-conclusion"><h4><strong>How GitLab Supports Full-Time Employees</strong></h4>
<ul>
<li><a href="https://about.gitlab.com/handbook/total-rewards/benefits/general-and-entity-benefits/">Benefits to support your health, finances, and well-being</a></li>
<li><a href="https://handbook.gitlab.com/handbook/people-group/time-off-and-absence/time-off-types/#flexible-paid-time-off-pto">Flexible Paid Time Off </a></li>
<li><a href="https://handbook.gitlab.com/handbook/company/culture/inclusion/tmrg-tmag/">Team Member Resource Groups</a></li>
<li><a href="https://handbook.gitlab.com/handbook/total-rewards/stock-options/">Equity Compensation & Employee Stock Purchase Plan</a></li>
<li><a href="https://handbook.gitlab.com/handbook/people-group/learning-and-development/growth-and-development/">Growth and Development Fund</a></li>
<li><a href="https://about.gitlab.com/handbook/total-rewards/benefits/general-and-entity-benefits/#parental-leave">Parental Leave</a> </li>
</ul>
<p>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 <a href="https://about.gitlab.com/company/culture/inclusion/#examples-of-select-underrepresented-groups">underrepresented groups</a> 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.</p>
<hr>
<p><strong>Country Hiring Guidelines: </strong>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. </p>
<p><strong>Privacy Policy: </strong>Please review our <a href="https://handbook.gitlab.com/handbook/hiring/candidate-faq/recruitment-privacy-policy/" target="_blank">Recruitment Privacy Policy.</a> Your privacy is important to us.</p>
<p>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 <a href="https://about.gitlab.com/handbook/people-policies/inc-usa/#equal-employment-opportunity-policy" target="_blank">GitLab’s EEO Policy</a> and <a href="https://about.gitlab.com/handbook/labor-and-employment-notices/#eeoc-us-equal-employment-opportunity-commission-notices" target="_blank">EEO is the Law</a>. If you have a disability or special need that requires <a href="https://about.gitlab.com/handbook/people-policies/inc-usa/#reasonable-accommodation" target="_blank">accommodation</a>, please let us know during the <a href="https://about.gitlab.com/handbook/hiring/interviewing/#adjustments-to-our-interview-process" target="_blank">recruiting process</a>.</p></div>