Core Software Engineer, Replication at MongoDB
The MongoDB Replication Team builds infrastructure to support fault tolerance, high availability, and tunable consistency. Distributed systems is a core focus of MongoDB, so the projects delivered by the Replication Team are highly visible and are typically some of the flagship features for each major MongoDB release, including multi-document transactions. We’re currently working on our framework for upgrades and downgrades in a distributed system, in order to support continuous delivery of MongoDB.
The Replication Team is committed to bringing theory into practice. We adopted the Raft protocol for consensus shortly after it was published. We incorporated formal methods into our design process. Our team has had two VLDB publications in the last two years.
Inclusivity is a top priority to the Replication Team. Our Director and many of our individual contributors are active participants in the MongoDB affinity group Underrepresented Genders in Tech. Our team created Social Guidelines inspired by the Recurse Center, prompting teams throughout the company to follow our example.
If you want to work on a collaborative team that applies distributed systems fundamentals to deliver core features of a popular database, join us! Let’s change what’s possible for application developers, system architects, and database operators.Candidate Profile
- Minimum 2 years of experience in programming, debugging, and performance tuning distributed and/or highly concurrent C/C++ software systems. Candidates with more experience will be considered for more senior roles. Experience in C++ is preferable, but not required
- A strong grip on the foundational material of computer science. Professional or advanced academic expertise in the domains of distributed systems or databases is preferable, but not required
- Excellent verbal and written technical communication skills, and a desire to collaborate with colleagues and mentor junior engineers and interns
- Excellent time management skills and the ability to make realistic assessments of project complexity
- Passion for learning new things in the domains of computer science and software engineering
- In the first month, you will have understood the high level architecture of MongoDB replication and fixed a few bugs
- In three months, you will have contributed to the development in C++ of a project slated for the next major release of MongoDB, and diagnosed and fixed a few customer or testing-reported issues
- In six months, you will have taken on code review responsibilities and are involved in reviewing the design for new features
- In twelve months, you are leading the development of a new feature and are helping to mentor new engineers on the team
MongoDB, Inc. provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws