Staff Software Engineer, Replicated Storage Services (next Gen Platform)

Toronto, ON, CA, Canada

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 MongoDB Replication Team builds infrastructure to support fault tolerance, high availability, and tunable consistency. Distributed systems is a core focus of MongoDB, so the projects delivered by the Replication Team are highly visible and are typically among the flagship features for each major MongoDB release, including multi-document transactions. We're currently working on improving our API and interface boundaries so that we can meet the performance and correctness needs of the world's most demanding enterprises while enabling new, more efficient data storage and retrieval patterns.



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.


###

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 replication solutions based on the Raft consensus protocol for ensuring automatic failover and zero-downtime of user applications Handle distributed systems related customer escalations from Technical Support team 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 MongoDB replication 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 a new feature and helping to mentor new engineers on the 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.



Req ID: 3252993395

Beware of fraud agents! do not pay money to get a job

MNCJobz.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Related Jobs

Job Detail

  • Job Id
    JD2593335
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Toronto, ON, CA, Canada
  • Education
    Not mentioned