MongoDB is one of the most popular databases behind modern applications. We sat down with Rachelle Palmer, a Lead Product Manager at MongoDB, to ask a few questions about MongoDB, product management, what she's working on, and more!
Hi Rachelle 👋 Thanks for joining us! Let's start with the basics — in your own words, how would you explain MongoDB to someone who's not familiar?
The simplest way to explain MongoDB: it's a database — a place to store your application data — where the data is stored in the form of JSON documents instead of columns and rows.
How did you first learn about MongoDB?
Years ago, I had an NLP project to scrape text from Twitter and then analyze it, and the Lead Engineer wanted to use MongoDB. He raved about it, trying to convince the rest of the team.
This is pretty typical of MongoDB — individual engineers who bring us into their work projects. That was my first time hearing about it, I think…
Fast forward to 2013, I applied for a job at MongoDB. I installed it the night that I got the email saying I had an interview, opened up a terminal, and set up my first cluster. That really opened my eyes to the technology itself, that I could get going so quickly. It was definitely unlike my experience using other databases in the past.
You've held a lot of different roles at MongoDB — can you tell us a little bit about your career progression and how you ended up where you are now?
Sure! When I joined, I was a Program Manager for our Cloud team. Back then, the Cloud team was just forming, so Program Managers did everything except write code. I wrote docs, helped users, gave webinars, tallied up revenues in excel — whatever was needed.
Once we had traction, it became clear that what we really needed was a support team for these new products. I led and built that team, which grew to 20 engineers in North America. Once Atlas was launched, I became the lead and grew that team worldwide, ending up with a team of 49 engineers across Europe, India, North America, Israel, Australia, Buenos Aires, etc.
I loved my team and the camaraderie and what we'd accomplished, but I wanted to do something different. So, in early 2020 I moved over to our product team, where I now focus on drivers, libraries, framework integrations, and the overall developer experience of using MongoDB.
What kinds of technical skills do you think are most valuable for Product Managers, both thinking about your role specifically and more broadly?
Oh well… it sort of depends on what kind of Product Manager you are. I personally am a data monster. Thou shalt make no decisions without data!
Technical skills that are invaluable are Python scripting, skills in statistical analysis, and advanced Excel. Otherwise, understanding how certain tools and technologies work together — what gaps they fill and utility they provide — as well as having a solid baseline of understanding around development in general.
Your focus as a Product Manager is on "Developer Experience." Can you tell us a little more about what that encompasses?
Being the Product Manager for DevEx means I think about:
- Using MongoDB in whatever stack you're comfortable in. If that's PHP with Laravel, C# with Unity's game engine, or managing MongoDB with Kubernetes — does it all work? Where's the friction?
- Using MongoDB products together. We have tools like our VS Code Extension, Compass (a database GUI), and then ODMs to make life easier. Do they all work seamlessly together in an obvious way? Do users know these things exist?
- Helping developers do their jobs. Once you've built an application with MongoDB, what happens when it becomes a wild success? Do developers know how to scale that application and their database? This is basically helping developers 'do' DevOps.
- And the end-to-end journey of getting started with MongoDB to being a long-term user who is performing an upgrade of your server, driver, and updates to application code. Do developers have everything they need to succeed — tools, tutorials, and everything in between?
What kinds of problems are you working to solve for MongoDB developers?
Lately, I'm spending a lot of time on a few things, so I'm going to pick at random:
- The Python developer experience, particularly when using data science tools like Jupyter, pandas, and Numpy. We recently released a library for this (pymongoarrow), and we're working with a partner, Coiled.io, on a really sweet integration with Jupyter and Dask.
- For C#, a MongoDB extension for the Visual Studio IDE and a rewrite of our LINQ provider.
- For Node.js, we just released our new driver, which is actually in Typescript. I'm working on a blog post on how we went about rewriting the driver, which was a scary idea that frankly went much better than we imagined it would.
- For Rust, performance enhancements! Because why not make Rust applications that much faster than everything else?
How has the way developers work with MongoDB changed over time (if at all)? Any trends you anticipate over the next few years?
Initially, with the craze of MEAN/MERN stack, the bulk of developers using MongoDB were Node.js devs, but that's changed over time. There are huge MongoDB communities for Go, Ruby, PHP, Rust, and all the languages in between.
So, first, there's much more variety, more growth, and therefore more to build, which is great. Second, the biggest observable trend is the blurring of the lines between developer roles and what that means. In a recent survey where ~80% of the respondents were Software Engineers, the SEs said that (despite their title) they were expected to do database admin tasks, sysadmin tasks, or data analysis tasks.
This sort of reminds me of how we've seen shifts of developers to being full-stack, then developers being tasked with moving to cloud platforms. Basically, developers are increasingly being asked to do more than one job, and they must do them all well.
I anticipate that tools will evolve to become more developer-focused even if their function is not purely "for" developers and that solutions like serverless and cloud services like Atlas that can be operated purely from APIs and CLIs will continue to grow.
Underrated… Well, I try to view the languages more like chess pieces — where the goal is to understand each piece and value each one equally. That being said, my recent favorite is probably Dart. I don't know if that qualifies, but I was really excited for MongoDB to build a Dart/Flutter SDK for Realm (our mobile solution), and I'm really hopeful that this language will continue to grow.
And last but not least, is there any advice you have for our learners who are interested in working with MongoDB for the first time?
There are great resources and tutorials everywhere you look. We also host our own courses through MongoDB University (check out MongoDB Basics), tutorials on DevHub, and resources for educators and students through MongoDB for Academia.