This role will be based out of our New York City office.
Candidate Profile
Minimum 10 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
Strong systems fundamentals, including multi-threaded programming and performance profiling
Familiarity with distributed systems such as consensus protocols, data replication, distributed transactions, and fault tolerance
Familiarity with database internals or building core components for data processing systems
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
Responsibilities
Develop novel data storage solutions that meet high availability and performance needs of customers
Build and maintain a modular storage engine API that supports other MongoDB server components
Handle customer escalations from the Technical Support team in our area of ownership
Write production-ready database code in C++
Write unit tests and integration tests in C++, Javascript, and Python to demonstrate application correctness
Diagnose test failures, identify bugs in existing code, and fix them
Investigate the performance impact of code changes that may cause software performance regressions
Interview candidates for software engineering positions
Develop and maintain expertise on cutting edge database and distributed systems research from industry and academia
Handle (or lead the effort to handle) time-sensitive customer escalations
Lead development and project management of large, cross-team projects
Collaborate with stakeholders and engineering teams across the company to jointly work on large initiatives
Advise Product Management on engineering complexity and inter-project dependencies
Collaborate with Product Management and Engineering leadership to define product roadmaps
Success Measures
In the first month, you will have understood the high level architecture of the MongoDB storage system 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 will be involved in reviewing the designs for new features
In twelve months, you will be leading the development of a new feature and helping to mentor new engineers on the team