Intermediate Backend Engineer, Database Automation (ruby)

GitLab GitLab · Enterprise · India · Data Engineering

This role is for an Intermediate Backend Engineer on the Database Automation team at GitLab. The engineer will develop and enhance frameworks, patterns, and tooling for GitLab's application datastores, focusing on scalability, health, and safety. Responsibilities include building backend features, improving database performance, designing tooling like SQL traffic replay, and documenting best practices. The role requires experience with PostgreSQL and Ruby on Rails, strong system design skills, and the ability to work effectively in a remote, collaborative environment.

What you'd actually do

  1. Develop and iterate backend features and data frameworks that make it safe and efficient to work with data at scale across GitLab.com and self-managed deployments.
  2. Work with product management, UX, frontend, infrastructure, software delivery, and analytics teams to design and ship high-performing, reliable solutions.
  3. Review and improve database-related changes from other engineers and external contributors to ensure data integrity, safety, and performance across diverse environments.
  4. Design, build, and maintain tooling and guardrails such as SQL traffic replay and background operations frameworks to proactively detect and remediate scalability, performance, and data health issues.
  5. Research, design, and implement improvements to database performance, scalability, and data health, including areas like soft delete strategies and database migration testing.

Skills

Required

  • Professional software engineering experience working with PostgreSQL in large, complex production environments, including performance tuning and troubleshooting.
  • Proficiency with Ruby on Rails or another Ruby framework, with experience designing, implementing, and reviewing backend features and services.
  • Ability to reason about software design, algorithms, and performance trade-offs at a system level, especially in data-intensive applications.
  • Strong written communication skills and comfort working asynchronously in an all-remote, distributed team.
  • Self-directed work style with effective organizational skills and the ability to manage priorities as a "manager of one."

Nice to have

  • Openness to learning and applying new tools and approaches, including transferable experience from related data, infrastructure, or developer tooling domains.