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

52 Minutes Ago
Remote
Hybrid
2 Locations
Senior level
Senior level
Artificial Intelligence • Cloud • Sales • Security • Software • Cybersecurity • Data Privacy
The Senior Solution Engineering Manager at SailPoint leads a team of Solution Engineers, focusing on enhancing team performance, developing sales methodologies, and improving product skills. This role involves strategic planning with upper management and requires strong analytical and communication skills to effectively interact with technical and business audiences.
An Hour Ago
Remote
Hybrid
37 Locations
Senior level
Senior level
Cloud • Computer Vision • Information Technology • Sales • Security • Cybersecurity
As a Senior Software Engineer on the Linux Kernel team at CrowdStrike, you will design and build applications to enhance Linux dynamic analysis environments, work closely with product management and security researchers to improve threat analysis capabilities, and help innovate detection methods for Linux threats.
Top Skills: C,C++
An Hour Ago
Remote
Hybrid
6 Locations
Senior level
Senior level
Cloud • Computer Vision • Information Technology • Sales • Security • Cybersecurity
The Sr. Machine Learning Engineer at CrowdStrike will build globally distributed and scalable systems, implement monitoring and analysis for vulnerabilities, and create backend microservices. The role requires collaboration across teams to devise solutions while ensuring high coding quality and adherence to standards in a supportive and innovative environment.
Top Skills: Python

What you need to know about the Calgary Tech Scene

Employees can spend up to one-third of their life at work, so choosing the right company is crucial, not just for the job itself but for the company culture as well. While startups often offer dynamic culture and growth opportunities, large corporations provide benefits like career development and networking, especially appealing to recent graduates. Fortunately, Calgary stands out as a hub for both, recognized as one of Startup Genome's Top 100 Emerging Ecosystems, while also playing host to a number of multinational enterprises. In Calgary, job seekers can find a wide range of opportunities.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account