Senior Software Engineer, Cluster Scalability
Senior Software Engineer on MongoDB's Cluster Scalability team, building the core distributed-systems infrastructure behind data partitioning, data movement, and dynamic cluster scaling in the MongoDB database. Day-to-day work is designing protocols and solving performance problems in C++ for a large-scale distributed database; remote within British Columbia or Ontario, Canada.
- Compensation
- CA$158K–CA$220K / yr
- Location
- British Columbia; Ontario
- Work setup
- Not specified
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 5+ years
- Category
- Software engineering
- Posted
Skills
Must have
- 5+ years of experience building distributed systems
- Experience building production-level code with a large user base, robust design structure and rigorous code quality, written in C++
- Degree in Computer Science or similar field, or equivalent practical experience, with strong competencies in data structures, algorithms, and software design/architecture
- Passion for the theory and practice of system design for large-scale distributed systems, with hands-on or academic experience in the domain
- Understands modern computer architecture and internals well enough to reason about how design choices play out in a system like MongoDB
Nice to have
- Demonstrated industry success or academic research in high performance / low latency networking
- Demonstrated industry success or academic research in performance tuning
- Demonstrated industry success or academic research in distributed systems
- Demonstrated industry success or academic research in system observability
- Demonstrated industry success or academic research in system resiliency
Full description
Join Cluster Scalability, one of MongoDB's Online Transaction Processing teams, and help build the core infrastructure that makes MongoDB a world-class distributed database. The team builds the infrastructure and tools that let customers scale their workloads past what a single node can handle. We take pride in building clean abstractions over hard distributed systems problems, so users can focus on their data instead of worrying about where it lives or how it's accessed. Our work has a big impact: it solves the hardest data challenges faced by MongoDB's largest customers.
As a Senior Software Engineer on Cluster Scalability, you'll work on data partitioning, one of the hardest and most impactful problem areas at MongoDB today. You'll collaboratively design and build the distributed machinery that turns independent query-processing and storage nodes into a single, unified database system. Your team’s work will be to build the data-movement and dynamic-scaling features that run on top of it. Current work includes seamless horizontal scaling with minimal tradeoffs, better cluster elasticity and smarter workload execution. You'll solve complex performance problems and design protocols for moving and placing data without disruption. Your work will help the architecture scale reliably to meet customer demand at any volume.
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 remotely in British Columbia or Ontario, Canada.
Candidate Profile
- 5+ years of experience building distributed systems
- Experience with building production-level code with a large user base, robust design structure and rigorous code quality, written in C++.
- Degree in Computer Science or similar field, or equivalent practical experience, with strong competencies in data structures, algorithms, and software design/architecture
- Passion for the theory and practice of system design for large-scale distributed systems, as well as hands-on or academic experience in the domain
- Understands modern computer architecture and internals to the degree that they can reason about how specific design choices plays out in a system like MongoDB
- Has demonstrated industry success or academic research in areas such as:
- High performance / low latency networking
- Performance tuning
- Distributed systems
- System observability