The Database Experience Team builds the libraries and tools that developers use day-to-day working with MongoDB. Our mission is to increase developer adoption and satisfaction by providing a reliable, enjoyable interface for developers and other end-users.
Our department is responsible for maintaining official drivers and various other MongoDB-related libraries in 12 different programming languages. Our engineers are typically specialists in a particular programming language, but are capable of contributing to projects in other languages as well.
For this role, we're looking for someone who will enjoy designing, writing, and supporting open source libraries for Rust developers that use MongoDB.
You might be right for this role if you
- Have substantial experience writing high-quality software in Rust or any other compiled language(s) (C, C++, Go, Java, Swift, etc.)
- Have an interest in learning and staying up-to-date with Rust ecosystem trends and best practices and incorporating them into your work
- Are fascinated by concurrency, parallelism, and distributed systems
- Can make pragmatic design decisions, balancing tradeoffs such as usability, maintainability and delivery time
- Want to, or already do, participate in open source software development and communities, both online via e.g. GitHub and optionally through conferences and speaking engagements
- Communicate well, internally and externally, both verbally and in writing
- Enjoy collaborating with teammates, and mentoring junior engineers and interns
- Are self-motivated, organized, and have strong time management skills
You'll be on the team responsible for
- Developing and supporting the MongoDB Rust driver and related software, collaborating with peers in our distributed world-wide engineering team
- Writing and maintaining open source specifications defining common behavior and APIs shared across all of our drivers
- Investigating bugs and support requests from commercial customers, open source users, and internal users for the libraries our team maintains
- Working with our Product and Server teams on designs and specifications for new user-facing MongoDB features
Success in this role means
- Within one month, you will understand the high-level architecture of the driver and how MongoDB works, and will have completed a few small bug fixes and/or feature tickets
- Within three months, you will be contributing effectively day-to-day, fixing bugs, implementing features, investigating and responding to open source user and customer issues, and reviewing your peers' code
- Within six months, you'll have implemented major, planned new features, contributed to our common driver specifications, and will be collaborating with the Product team to help craft our roadmap
- Within twelve months, you'll have significantly improved the quality, performance and maintainability of our codebase, and will be taking the lead in designing and specifying major new features