Backend Engineer
GitLab
Let the right jobs find you
Get personalised suggestions from verified company career pages, matched to your role, location, level, and skills.
Overview
Position Type
Full Time
Experience
Not specified
Job Description
An overview of this role
As a Backend Engineer on the Geo team, you'll design, build, and maintain the backend services that power GitLab Geo, Disaster Recovery, and Backup and Restore. Working primarily in Ruby on Rails and PostgreSQL, you'll improve replication, verification, failover, and data migration for large self-managed and GitLab Dedicated environments. You'll collaborate with Database Engineering, Infrastructure, GitLab Dedicated, and other teams to help distributed customers access repositories faster and recover reliably, while maintaining a high bar for observability, careful rollout, and operational resilience.
What you’ll do
- Design, build, and maintain backend functionality for Geo, Disaster Recovery, and Backup and Restore using Ruby on Rails and related services.
- Improve replication and verification workflows for repositories and related data, with a focus on performance, correctness, and operational simplicity.
- Use PostgreSQL features, including logical replication, to support Geo, GitLab Dedicated migrations, and future Cells architectures.
- Measure and reduce replication lag and verification failures through logs, metrics, and alerts, identifying disaster recovery risks early.
- Collaborate with Database Engineering, Infrastructure, GitLab Dedicated, Tenant Scale, and other teams on initiatives that affect Geo and migrations.
- Participate in incident response and post-incident reviews, then turn findings into product and operational improvements.
- Partner with Support, Site Reliability Engineering, and Customer Success on Requests for Help, customer escalations, complex migrations, and incidents where Geo capabilities are critical.
- Own projects from proposal and design through implementation, review, rollout, and production monitoring, while providing constructive feedback on merge requests.
What you’ll bring
- Experience building and maintaining Ruby on Rails applications in production environments.
- Experience with PostgreSQL or similar relational databases, including replication, indexing, and performance tuning.
- Understanding of distributed systems and data replication concepts, including consistency, eventual consistency, and failure modes.
- Experience building and operating background job or worker systems, such as Sidekiq, including monitoring and retry strategies.
- Knowledge of replication and verification patterns, such as ordered event delivery and checksums, and experience debugging issues such as replication lag.
- Experience operating or debugging large production deployments across installation methods, operating systems, or cloud providers.
- Familiarity with recovery point objective (RPO), recovery time objective (RTO), planned failover, and backup and restore for stateful systems.
About the team
The Geo group is part of GitLab's Platforms Engineering organization and works closely with GitLab Dedicated, Database Engineering, Infrastructure, and Tenant Scale teams. Our work includes cross-team initiatives such as GitLab Dedicated migrations and the Cells architecture. We work asynchronously, with regular planning and retrospectives and a high bar for operational ownership, incident management, testing, and rollout safety.