The MongoDB Server Development Platforms Team develops, delivers, and maintains the software development and release environment for the core MongoDB server engineering organization, enabling server development teams to focus on their areas of expertise while developing in a productive, modern, and reliable C++ environment.
This is the team that:
- Defines the local C++ development experience for server developers, including the development, maintenance, and enhancement of the server build system and developer productivity tools.
- Manages the integration of the server build system with our continuous integration environment, and develops tools to manage packaging, release, and installation of the MongoDB server product across a myriad of platforms.
- Manages the build, integration, and upgrade of our in-house builds of stock GCC and LLVM, and handles server codebase upgrades to support new versions of all our supported toolchains, including Visual Studio and Xcode.
- Collaborates with other server development teams on C++ standards and best practices, and drives upgrades of the toolchain and codebase to new C++ standards like the upcoming C++20 standard.
- Explores and deploys new toolchain and build system driven enhancements to server build performance and server runtime performance, correctness, and security.
- Manages and automates the integration of third-party libraries, development tools, and build systems with the server codebase, including working with upstream maintainers to ensure the portability of those libraries and tools across our supported operating systems and CPU architectures.
Our work is a combination of tool and build system development in Python, shell scripting, and server development in modern C++.
If you want to work on how one of the most popular C++ applications is developed, join the SDP team and change what’s possible for application developers, system architects and database operators.
The right candidate is excited to work with the team to design an improved toolchain build workflow one week, to work solo to diagnose and fix a novel linker segfault the next week, and to investigate the performance characteristics of a new distributed object caching server the week after that. You are driven by the idea of making software development better, safer, faster, and more secure, and building the tools and sharing the knowledge that enables others to do so. You have naturally strong communication skills, and work well both independently and with a team.
- Strong computer science fundamentals, including data structures, algorithms, and software design
- Experience programming, debugging, and investigating performance issues
- Commitment to engineering quality
- A desire to build the best software possible given real world constraints
- A proven ability to achieve long term goals while simultaneously delivering short term value
- Excellent technical communication skills, both written and in-person
- Experience in the development lifecycle of modern C++ software
- Strong python systems programming skills
- Familiarity with standard UNIX (GCC/LLVM), macOS, and Windows toolchains
- Familiarity with modern build systems like SCons, CMake, meson, bazel, etc.
- Knowledge of server security technologies and coding best practices
- Experience with packaging and distribution tools across Linux, Mac and Windows platforms
- Identify, design, implement, test, and support new development, build, and packing tools for MongoDB Server
- Identify obstacles to developer productivity, and advocate solutions
- Advance the state of the art in the server development environment and codebase, without compromising correctness
- Lead and participate in code and design reviews
- Participate in the planning process for MongoDB server releases
- Work with support and field teams to diagnose and remediate customer issues
- In one quarter on the Server Development Platform team, you will have contributed to tools that impact development and release of MongoDB
- In two quarters, you will be actively involved in code and design reviews for new features and functionality
- In one year, you will be participating in the team project roadmap, leading design for specific features or projects, and helping to interview for and mentor new hires
*MongoDB, Inc. provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws.*