10+ years of experience building distributed systems, including extensive experience with availability and performance
Experience with building production-level code with a large user base, robust design structure and rigorous code quality. Experience in C++ and/or Rust is preferable
Passion for the theory and practice of system design for large-scale distributed systems
Excellent verbal and written technical communication skills and a desire to collaborate with colleagues and mentor junior engineers and interns
Excellent time and project management skills including the ability to make realistic assessments of project cost and complexity
Has demonstrated industry success or academic research in areas such as:
Performance tuning
Writing software to observe and mitigate overload scenarios for highly performant and concurrent systems
Load and availability testing
Experience in delivering and deploying a product with several cross-team stakeholders to a large base of end-users
Position Expectations
Write production-ready code in C++ or Rust, improve the existing code and mentor engineers on the team to write high quality code
Write tests in C++, Rust, Javascript, and Python, identify key coverage gaps in correctness and performance testing
Develop and architect novel ways to observe, detect and mitigate overload of the database
Leverage deep knowledge of the strength and weakness of the product and the industry trends to provide technical vision and direction
Set initiative level strategy and guide the team towards successful execution with measurable outcomes
Advise product and engineering management on decisions related to roadmap, processes, architecture and design
Advocate across the organization for improvements and setting the standard on writing secure, robust, well-reasoned industrial-strength software
Work with other teams including client drivers, cloud services, enterprise tools, support, consulting, education, and marketing to coordinate changes and ensure successful delivery of product features
Handle (or lead the effort to handle) time-sensitive customer escalations
Success Measures
In three months you’ll have contributed to the development of a project slated for the next major version of MongoDB, as well as fixed a few bugs in a minor version of our latest stable release series; You'll have learned about MongoDB's project lifecycle, and the team’s long-term goals for the system
In six months, you’ll have taken on code review responsibilities and are playing an active role in drafting and reviewing the design for new features; You are starting to take ownership of high-level execution goals for the team
In twelve months, on the basis of your extensive past experience in the large-scale distributed systems and performance programming space, you have contributed to the long-term technical roadmap of the MongoDB Workload Scheduling team