Skip to main content
All jobs

Employer listing

Senior Software Engineer, Replication

MongoDB

hybrid · full time · Senior

$101,000 - $273,000

Role Overview

MongoDB’s Replication Team builds the infrastructure that enables high availability, fault tolerance, automatic failover, and tunable consistency. As a Senior Engineer on the team, you will design and implement distributed-systems features that protect data and keep applications available under demanding operating conditions.

You will work primarily in C++ on core database code, partner with engineers across MongoDB, and shape features central to major MongoDB releases. This is an opportunity to apply distributed-systems fundamentals to problems in data consistency, recovery time, replication performance, and operability.

Responsibilities

  • Design and implement production features across the replicated data lifecycle
  • Improve restore and recovery workflows with attention to recovery time objectives
  • Improve replication lag, throughput, and flow control; measure performance and prevent or resolve regressions
  • Write production-quality C++ and the unit, integration, and system tests needed to demonstrate its correctness
  • Use JavaScript and Python where appropriate to extend test coverage and validate end-to-end behavior
  • Collaborate with partner engineering teams and stakeholders on large, cross-functional initiatives
  • Investigate distributed-systems issues raised by customers and Technical Support, communicate findings clearly, and deliver durable fixes
  • Participate in code reviews, design reviews, and technical discussions that improve the quality of the team’s work
  • Interview candidates and mentor junior engineers and interns

Qualifications

Required

  • At least 5 years of experience programming, debugging, and performance-tuning distributed or highly concurrent software systems
  • Strong systems fundamentals, including multithreaded programming, concurrency, debugging, and performance profiling
  • Practical experience with distributed-systems concepts such as replication, data consistency and durability, recovery, fault tolerance, or consensus protocols
  • Experience working with complex production codebases and diagnosing problems that cross system boundaries
  • Strong written and verbal technical communication skills
  • A collaborative approach and the ability to make realistic assessments of project complexity and delivery risk

Preferred

  • Professional experience developing production software in C++
  • Familiarity with database internals or core components of data-processing systems
  • Experience with replication, recovery, data consistency, or Raft/another consensus protocol; direct experience with every area is not expected
  • Experience writing unit, integration, and end-to-end tests in C++, JavaScript, or Python
  • Experience responding to customer-impacting production issues in distributed systems
  • Experience mentoring engineers or interns and contributing to technical hiring

Benefits

Benefits include equity, employee stock purchase program, flexible paid time off, 20 weeks fully-paid parental leave, fertility and adoption assistance, 401(k), mental health counseling, and comprehensive health insurance coverage.