Skip to content
GitLabGitLab

Intermediate Backend Engineer - Database Change Management

Builds and maintains Ruby on Rails and PostgreSQL systems that make database upgrades safe, fast, and predictable. The role requires production backend engineering experience, schema migration and performance-tuning expertise, and strong asynchronous collaboration skills.

About the job

Responsibilities

  • Build and test systems that safely apply database schema changes during upgrades for GitLab.com and self-managed customers.
  • Develop and maintain testing frameworks that validate schema changes before production.
  • Implement checks and safeguards to prevent failed or slow upgrades.
  • Review and improve database schema migrations for safety, consistency, and backward compatibility.
  • Collaborate with operations, packaging, distribution, and QA teams to improve upgrade reliability.
  • Document upgrade procedures, schema-change patterns, and migration best practices.
  • Identify operational needs and deliver incremental improvements to customer upgrades.

Requirements

  • Professional software engineering experience with PostgreSQL in large, complex production environments.
  • Experience with schema migrations and performance tuning.
  • Proficiency with Ruby on Rails and backend feature and service development.
  • Ability to reason about software design, algorithms, and system-level trade-offs involving reliability, safety, and backward compatibility.
  • Strong written communication skills and comfort working asynchronously in a distributed team.
  • Self-directed work style and effective prioritization.
  • Experience working with operations or infrastructure teams, or willingness to develop cross-functional collaboration skills.
  • Alignment with GitLab’s values, including transparency, teamwork, inclusion, and open-source contribution.

Benefits

  • Health, financial, and well-being benefits.
  • Flexible paid time off.
  • Team member resource groups.
  • Equity compensation and employee stock purchase plan.
  • Growth and development fund.
  • Parental leave.

Skills

Ruby on Rails, Postgres, Database Schema Migrations, Performance Tuning, Backend Services, Algorithms, System Design, Database Upgrades, Backward Compatibility, Asynchronous Work

Anyscale

Anyscale

San Francisco, CA
Software Engineer
$215k+/yrOn-site5+ YOEBackend Engineering

Develop and improve Ray Core’s C++ distributed-systems backend, focusing on performance, reliability, fault tolerance, and scalability. The role requires at least five years of experience with distributed systems, C/C++, low-level operating systems, algorithms, and system design.

Rain

Rain

Remote

Software Engineer - Wallets
$220k+/yrRemoteBackend Engineering

Design and lead secure, scalable wallet infrastructure spanning custody, key management, signing, authorization, and recovery. The role requires deep expertise in wallet or cryptographic security infrastructure, distributed systems architecture, and modern blockchain account models.

GitLab

GitLab

Bengaluru, India

Intermediate Backend Engineer
No salary listedRemoteBackend Engineering

Build and operate production backend features, APIs, integrations, and services while collaborating asynchronously across product and engineering teams. The role requires strong backend fundamentals, independent feature ownership, and practical experience with modern backend languages and AI coding tools.

GitLab

GitLab

Bengaluru, India

Intermediate Backend Engineer
$115k+/yrRemoteBackend Engineering

Build and operate production backend features, APIs, integrations, and services for a large-scale DevSecOps platform. The role requires professional backend development experience, strong database and testing fundamentals, independent feature ownership, and clear asynchronous communication.

Supabase

Supabase

Remote

Software Engineer - Branching
No salary listedRemote3+ YOEBackend Engineering

Build and operate a globally distributed CI/CD execution platform, including branch orchestration, ephemeral build environments, scheduling, caching, and pipeline observability. Requires Go and TypeScript expertise plus at least 3 years building cloud infrastructure or distributed systems.