The database market is massive (the IDC estimates it to be $106B+ by 2024!) and MongoDB is at the head of its disruption. The MongoDB community is transforming industries and empowering developers to build amazing apps that people use every day. We are the leading modern data platform and the first database provider to IPO in over 20 years. Join our team and be at the forefront of innovation and creativity.
The MongoDB Server Team builds the open source database at the core of our business. We provide the rich feature set needed for a document database that offers strong consistency and a high degree of scalability. We have the unique challenge of enabling our Cloud Team to run the database as a service, while delivering an on-premises product that delights both enterprise and community users. We range in experience from new college grads to seasoned staff engineers, but we share a love of computer science fundamentals and a rigorous commitment to quality. The Server Team presents endless opportunities for learning and growth, and many team members have chosen to build their careers here. This role can be based out of our NYC office or remotely from anywhere in North America.
Candidate Profile
At least 4 years of experience in building industrial-strength software projects with robust designs, a high level of code quality, and collaborative software development processes. Candidates with more experience will be considered for more senior roles
Degree in Computer Science, Software Engineering, or a related field, or equivalent practical experience, with strong proficiency in data structures, algorithms, and software design/architecture
Interest in the theory and practice of database internals
Position Expectations
Collaborate with other Server team engineers to coordinate seamless changes in a feature-rich, large C++-based codebase
Identify, design, implement, test, and support new server features
Keep abreast of new database technologies and research, and work to incorporate them into the server
Contribute to a world-renowned open source database software project
Espouse and promote the MongoDB values through mentorship, building together, intellectual honesty, and accountability
Success Measures
In three months, you’ll have contributed to the development of a project slated for the next major release, and diagnosed and fixed a few customer or testing-reported issues
In six months, you’ll be responsible for reviewing code, interviewing potential new hires, and reviewing new feature designs
In twelve months, you’re owning the development of a new major feature and are helping to mentor new engineers on the team
Storage Execution Team
The MongoDB Storage Execution team's mission is to research and develop new algorithms for storing data, maintain a pluggable protocol for MongoDB storage engines, and provide a comprehensive framework for managing concurrent, transactional access to data stored locally within a MongoDB database instance.
Our team champions a strong culture of inclusivity, diversity, and collaboration. As a team member, you will contribute to crafting and maintaining the nexus of the different server components, connecting its query system and distributed replication system to its underlying storage engines. Ongoing work includes improvements to support time series data, memory allocator improvements, new indexing algorithms, and implementations for admission control and flow control for the server.
Additional Requirements
Experience in programming, debugging, and performance tuning distributed and/or highly concurrent software systems
Replication Team
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.
Additional Requirements
Experience in programming, debugging, and performance tuning distributed and/or highly concurrent software systems
Professional or advanced academic expertise in the domain of distributed systems is helpful, but not required
Security Team
Join the MongoDB Server Security team, and help us protect all MongoDB users! Our team's responsibilities cover the aspects of security engineering required to operate the database in a safe and compliant fashion, such as TLS and X.509 certificate management, at rest data encryption, and the authentication and authorization systems.
Our team currently consists of seven engineers with a majority located in New York. We operate close to the bottom of the stack, and have a lot of influence over the safety and robustness of our open source database and a growing ecosystem of cloud services and client applications. Recently, we've added support for X.509 certificate revocation via the Online Certificate Status Protocol(OCSP), built Client Side Field Level Encryption support with integrations in AWS, GCP, and Azure, and designed and implemented a mechanism for clients to authenticate with select third-party cloud API tokens.
Are you excited by the prospect of baking security into the lowest levels of a large scale distributed system? We are! Join us today, and we can make databases safer for everyone.
Additional Requirements
Experience in programming, debugging, and performance tuning distributed and/or highly concurrent software systems
Experience in applying security engineering concepts to build trustworthy software
Sharding Team
The MongoDB Sharding Team builds infrastructure and tools which abstract difficult distributed systems problems from the database users, freeing them up to just focus on working with the data itself and not where it resides. As a result of this, the projects delivered by the Sharding Team are highly visible and are typically some of the flagship features for each major MongoDB release.
To achieve our goal, we design and build the machinery that transforms independent query processing and storage nodes into a single database management system, and we implement novel features that leverage that machinery. Ongoing work includes offering stronger and more tunable consistency models, providing more configurable disaster recovery behaviors, improving cluster elasticity and introducing novel workload balancing policies.
If you want to work on a collaborative team developing an open source distributed database, join us. Let’s change what’s possible for application developers, system architects and database operators.
Additional Requirements
Experience in programming, debugging, and performance tuning distributed and/or highly concurrent software systems
Professional or advanced academic expertise in the domain of distributed systems is helpful, but not required
Service Architecture Team
The Service Architecture (SA) team maintains and improves the “glue” that holds together all the low level systems and services that power the MongoDB database server. Among the capabilities we provide other MongoDB server teams are:
Concurrency Primitives
Asynchronous Programming Frameworks
Process Management Frameworks
Command Request/Response Communication
Command Processing & Thread Management
Engineers on the SA team spend their days working with: wire level protocols, tough concurrency problems, stack frames & low level debugging, various concepts from operating systems, compiler theory, and the occasional logical or physical clock.
Server Serverless Team
MongoDB Atlas Serverless is a new cloud-native offering that allows users to deploy a MongoDB database as a simple endpoint and pay only for the compute and storage resources they use, even as their workload scales up and down. The preview of Atlas Serverless was announced during the 2021 MongoDB.live keynote address, and Serverless is central to MongoDB's evolution as a company in the next few years.
Server Serverless is a new and fast-growing team on Core Server responsible for building the scaling mechanisms and routing architecture for Atlas Serverless. The team's upcoming work includes supporting multi-tenancy in the routing layer and fundamentally overhauling the data migration method to be optimized for a cloud-native environment.
This new team offers the opportunity for new members to quickly take ownership of technical areas while working alongside several engineers who designed the Serverless architecture. The team's members are deeply interested in research in distributed systems, databases, and related areas, and actively participate in and lead reading groups and attend conferences. Our team is committed to building a respectful, inclusive environment and investing in the growth of our engineers.
Additional Requirements
Experience in programming, debugging and performance tuning highly concurrent software systems
Professional or advanced academic expertise in the domains of networking, systems programming and/or shared memory concurrency are helpful, but not required
To drive the personal growth and business impact of our employees, we’re committed to developing a supportive and enriching culture for everyone. From employee affinity groups, to fertility assistance and a generous parental leave policy, we value our employees’ wellbeing and want to support them along every step of their professional and personal journeys. Learn more about what it’s like to work at MongoDB, and help us make an impact on the world!
MongoDB is committed to providing any necessary accommodations for individuals with disabilities within our application and interview process. To request an accommodation due to a disability, please inform your recruiter.
MongoDB, Inc. provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type and makes all hiring decisions 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.