MongoDB Logo

MongoDB

Senior Staff Engineer, Cluster Scalability

Posted 2 Days Ago
Be an Early Applicant
Canada
Expert/Leader
Canada
Expert/Leader
The role involves architecting and developing protocols for data movement between shards in a sharded database cluster. Responsibilities include designing intelligent data placement protocols, ensuring performance and resiliency, and mentoring engineers while handling customer escalations related to distributed systems.
The summary above was generated by AI

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.

MongoDB’s base salary range for this role is posted below. Compensation at the time of offer is unique to each candidate and based on a variety of factors such as skill set, experience, qualifications, and work location. Salary is one part of MongoDB’s total compensation and benefits package. Other benefits for eligible employees may include: equity, participation in the employee stock purchase program, flexible paid time off, 20 weeks fully-paid gender-neutral parental leave, fertility and adoption assistance, Registered Retirement Savings Plan (RRSP) with employer match, mental health counseling, backup child and elder care, and health, dental, and vision benefits offerings. Please note, the base salary range listed below and the benefits in this paragraph are only applicable to candidates based in Canada.

MongoDB’s base salary range for this role in Canada is:

$175,000$243,000 CAD

Top Skills

C
C++
Rust

Similar Jobs

An Hour Ago
Hybrid
Toronto, ON, CAN
Mid level
Mid level
Artificial Intelligence • Hardware • Information Technology • Security • Software • Cybersecurity • Big Data Analytics
The Full Stack Angular Developer will develop web user interfaces using Angular, design backend services with Node.js, and create hybrid mobile apps. Responsibilities include collaborating with design teams, creating internal tools, troubleshooting customer issues, and implementing new technologies for improving user experiences.
Top Skills: AngularNode.jsTypescript
3 Hours Ago
Remote
Hybrid
8 Locations
Senior level
Senior level
eCommerce • Fintech • Hardware • Payments • Software • Financial Services
Lead engineering projects for Square's mobile applications, focusing on building remote settings and configuration management systems. Collaborate with design and product teams to enhance user experience, ensure high availability in systems, and respond to customer feedback for product improvement.
Top Skills: Objective-CSwift
5 Hours Ago
Remote
Hybrid
Kitchener, ON, CAN
Senior level
Senior level
Blockchain • Fintech • Mobile • Payments • Software • Financial Services
As a Staff Software Engineer, you will enhance the quality and efficiency of Cash App's mobile applications through automation and tooling, collaborating with teams to improve testing frameworks, conduct debugging, and mentor peers while ensuring high engineering standards.
Top Skills: JavaJavaScriptKotlinPythonRuby

What you need to know about the Vancouver Tech Scene

Raincouver, Vancity, The Big Smoke — Vancouver is known by many names, and in recent years, it has gained a reputation as a growing hub for both tech and sustainability. Renowned for its natural beauty, the city has become a magnet for professionals eager to create environmental solutions, and with an emphasis on clean technology, renewable energy and environmental innovation, it's attracted companies across various industries, all working toward a shared goal: advancing clean technology.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account