Senior Staff Engineer, Cluster Scalability

  • Remote - Canada

Remote

Software Development

Senior

Job description

MongoDB’s mission is to empower innovators to create, transform, and disrupt industries by unleashing the power of software and data. We enable organizations of all sizes to easily build, scale, and run modern applications by helping them modernize legacy workloads, embrace innovation, and unleash AI. Our industry-leading developer data platform, MongoDB Atlas, is the only globally distributed, multi-cloud database and is available in more than 115 regions across AWS, Google Cloud, and Microsoft Azure. Atlas allows customers to build and run applications anywhere—on premises, or across cloud providers. With offices worldwide and over 175,000 new developers signing up to use MongoDB every month, it’s no wonder that leading organizations, like Samsung and Toyota, trust MongoDB to build next-generation, AI-powered applications.

The Cluster Scalability Team builds features into the MongoDB Server that enable operators to scale their workload seamlessly from 100 to 100 billion operations a day.  The team is responsible for specifying where data is stored and building the distributed protocols for quickly moving data around a cluster to achieve the desired data distribution. This includes building primitives to both move small ranges of data, and to rewrite an entire collection across a sharded cluster with a new sharding partition key and data distribution. Nearly all of the code the team writes is in our public repository.

In the near-term we’ll be focusing on making our data movement primitives more reliable, resilient, and performant. In the future, we hope to expand our scaling flexibility to specialized workloads, make sharding invisible to users, and more intelligently arrange data placement to transparently support dynamic customer workloads.

Our team champions a strong culture of inclusivity, diversity, and collaboration. 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.

This role can be based out of our New York City office or remotely in the North America region.

Candidate Profile

  • Minimum 12 years of experience in programming, debugging, and performance tuning distributed and/or highly concurrent C/C++/Rust software systems. Experience in C++ is preferable, but not required
  • Strong systems fundamentals, including multi-threaded programming and performance profiling
  • Familiarity implementing distributed systems such as consensus protocols, logical clocks, distributed transactions, and fault tolerance
  • Experience implementing database internals or building core components for data processing systems
  • Excellent verbal and written technical communication skills and a strong desire to collaborate with colleagues and mentor engineers
  • Excellent time and project management skills including the ability to make realistic assessments of project cost and complexity

Responsibilities

  • Architect and develop novel protocols for moving data between different shards in a sharded database cluster, ensuring correctness, performance, resiliency, and low-cluster impact
  • Design and implement protocols for placing data intelligently throughout a cluster and the plans for how to achieve that placement
  • Handle distributed systems related customer escalations from Technical Support team and coach teammates to do the same
  • Write production-ready database code in C++, improve the existing code, and mentor their team to write higher quality code
  • Own all code the Cluster Scalability Team maintains, ensuring it achieves a high standard for quality (including security, durability, availability, and performance) and maintainability
  • Write and improve unit and integration tests in C++, Javascript, and Python to demonstrate correctness
  • Diagnose test failures, identify bugs in existing code, fix them, and prevent bugs from being introduced in new code
  • Investigate the performance impact of code changes that may cause software performance regressions
  • Interview candidates for advanced software engineering positions
  • Develop and maintain expertise on cutting edge database and distributed systems research from industry and academia
  • Lead development and project management of some of the largest projects across the company
  • Collaborate with stakeholders and engineering teams across the company to jointly work on large initiatives
  • Advise Product Management on technical product direction, 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 MongoDB sharding 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 will be leading the development of new features and initiatives, helping to mentor engineers on the team, and using your experience to drive the long-term technical roadmap of the Cluster Scalability Team

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 is an equal opportunities employer.

Share this job:
Please let MongoDB know you found this job on Remote First Jobs 🙏

Benefits of using Remote First Jobs

Discover Hidden Jobs

Unique jobs you won't find on other job boards.

Advanced Filters

Filter by category, benefits, seniority, and more.

Priority Job Alerts

Get timely alerts for new job openings every day.

Manage Your Job Hunt

Save jobs you like and keep a simple list of your applications.

Search remote, work from home, 100% online jobs

We help you connect with top remote-first companies.

Search jobs

Hiring remote talent? Post a job

Frequently Asked Questions

What makes Remote First Jobs different from other job boards?

Unlike other job boards that only show jobs from companies that pay to post, we actively scan over 20,000 companies to find remote positions. This means you get access to thousands more jobs, including ones from companies that don't typically post on traditional job boards. Our platform is dedicated to fully remote positions, focusing on companies that have adopted remote work as their standard practice.

How often are new jobs added?

New jobs are constantly being added as our system checks company websites every day. We process thousands of jobs daily to ensure you have access to the most up-to-date remote job listings. Our algorithms scan over 20,000 different sources daily, adding jobs to the board the moment they appear.

Can I trust the job listings on Remote First Jobs?

Yes! We verify all job listings and companies to ensure they're legitimate. Our system automatically filters out spam, junk, and fake jobs to ensure you only see real remote opportunities.

Can I suggest companies to be added to your search?

Yes! We're always looking to expand our listings and appreciate suggestions from our community. If you know of companies offering remote positions that should be included in our search, please let us know. We actively work to increase our coverage of remote job opportunities.

How do I apply for jobs?

When you find a job you're interested in, simply click the 'Apply Now' button on the job listing. This will take you directly to the company's application page. We kindly ask you to mention that you found the position through Remote First Jobs when applying, as it helps us grow and improve our service 🙏

Apply now