Senior Software Engineer, Core Server

Save to Kiter
What Mongodb is looking for in applicants

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 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.

Want some tips on how to get an interview at Mongodb?

What is Mongodb looking for?
If this role looks interesting to you, a great first step is to understand what excites you about the team, product or mission. Take your time thinking about this and then tell the team! Get in touch and communicate that passion.
What are interviews for Senior Software Engineer like?
Interview processes vary by company, role and team. The best plan is to see what others have experienced and then plan accordingly.
How to land an interview at Senior Software Engineer?
A great first step is organizing your path to an offer. Check out Kiter for tools to get started!