To take advantage of the benefits of having a modern database, MongoDB users need the ability to search and filter quickly against their dataset. Nolan Lum is a senior software engineer on MongoDB’s Atlas Search team where she helps create the fastest and easiest way to build relevance-based search capabilities directly into applications.
I spoke with Nolan about what it is like to grow her career on the engineering team at MongoDB. Keep reading to learn about her experience and why the Atlas Search team offers great career opportunities for people with all sorts of backgrounds.
Jackie Denner: Thanks for sharing more about your experience today, Nolan. To start, can you share some experiences that brought you to where you are now at MongoDB?
Nolan Lum: My first experience with software engineering was in high school, and I continued to study computer science at UC Berkeley. After graduation, I worked at technology companies as a software engineer for over three and a half years. I have worked as a software engineer at MongoDB for almost two years now. I’m currently contributing to the Atlas Search team.
JD: Tell me about Atlas Search. What is Atlas Search and how does that fit into the bigger picture at MongoDB?
NL: Atlas Search is part of MongoDB Atlas. Atlas Search takes the data stored in MongoDB and indexes it for full-text search. It is a separate Java executable that currently runs alongside MongoDB. It replicates the data users store in MongoDB and makes it available for relevance-based, full-text search.
JD: What kind of projects does the team work on?
NL: The team is tackling search-related challenges from a variety of perspectives. From the product perspective, we are working on indexing data so that it is quickly accessible and scalable and making the experience of searching and using your database faster and better than using off-the-shelf solutions. From the engineering perspective, we’re solving challenges like how to handle data consistency or whether we should provide guarantees on what data you read back from us versus the database.
JD: Tell me about an Atlas search project or feature that you've worked on.
NL: I worked on a feature called Resumable Initial Sync that aimed to optimize a process in our replication subsystem. The original Initial Sync process would restart from scratch if another action caused it to pause, increasing the overall time to finish the sync. I updated the process to be resumable, so users can pick up where their initial sync left off after a sync interruption. This internal update helps our users have a better experience using MongoDB.
It was a fun technical challenge because I had to think carefully about which asynchronous operations were happening in which order to ensure we accurately represented our place in the overall replication process. I'm proud that we were able to ship this feature update without creating any bugs or losing anyone’s data. Our team has good processes in place to ensure that we ship defect-free software as quickly as possible.
JD: What do you like about working on the Atlas Search team?
NL: This team appeals to me because there are interesting challenges for every type of engineer. We offer opportunities for traditional engineering, product challenges, hard technical problems, and more. We likely have a project that interests you.
I also like that I work with team members from different roles in addition to other engineers, which promotes learning and growth through the work process. While working with other engineers is important, I also value the information I learn from collaborating with other types of team members. For example, during the past couple of weeks, our product managers hosted talks highlighting two important use cases for us to consider. The information they shared helped the engineering team better understand which features are the most valuable to spend our time building.
JD: It sounds like a collaborative environment.
NL: It is, and to a greater degree than I've experienced in the past. We value working together. One of our shared company values addresses the concept of “disagree and commit.” I’ve heard some people question if that actually works in practice, but here I think it is working well. I see my co-workers disagree sometimes, but after we work toward a consensus, the team rallies around the solution to move forward together.
JD: What is the leadership on the Atlas Search team like?
NL: The team is organized in a way that allows everybody, including the managers, to succeed. Instead of traditional engineering manager roles, we have team leads who are both people managers and engineers. This works for our team because the technical managers are in touch with the team’s day-to-day challenges beyond setting roadmaps and planning meetings. The philosophy behind what it means to be a manager focuses on empowering engineers at the company to succeed and giving them the space to do that. I think we do a good job at that.
JD: What has your personal experience been like working on the Atlas Search team?
NL: My experience on the team has been shaped by the wide range of experience levels of my colleagues. Our team’s spirit of mentorship has given me the opportunity to learn from other engineers who are senior to me or who come from different backgrounds, which has helped me grow my own skills. I’ve also been impressed with how equal and diverse the retention is at MongoDB, which in turn helps me feel comfortable being myself at work. Taking into consideration that there are far fewer women engineers in the industry, when one female engineer leaves a company, it makes a proportionally higher difference in team diversity than her male counterpart. I’ve noticed that MongoDB spends extra attention on supporting and retaining women engineers to help keep an authentic, inclusive culture at our organization.
JD: What stood out to you about MongoDB while you were interviewing to join the organization?
NL: When I was interviewing at MongoDB, I was looking to work at a company that offered me growth opportunities and mentorship, and a fair and thoughtful approach to measuring performance. I wanted to contribute to an engineering organization with a positive culture that valued more than just shipping as many products as possible.
One of the reasons I decided to accept an offer at MongoDB was a conversation I had with our Executive VP of Engineering, Cailin Nelson. After I spoke with her, I felt like this was a company where I could flourish. It's inspiring to have women in leadership across the organization.
JD: What was your experience during and after the hiring process at MongoDB?
NL: At the time of our hiring conversation, I had almost four years of working experience, and I wanted to grow my career to recognize the increasingly advanced skills I had picked up. The conversations I had with MongoDB employees gave me the sense that the performance and team cultures were fair and that the potential for career advancement was available to me. After working here and observing other engineers here for two years, I am still impressed with how MongoDB values everyone’s performance equally and avoids the favoritism trap that so many tech company cultures fall into at scale. I was originally hired as a software engineer, and I have since been promoted to senior software engineer based on my performance.
JD: Did you have search-focused engineering experience before working on the Atlas Search team?
NL: Before joining this team, I didn't know a lot about search specifically. MongoDB’s engineering culture made ramping up a positive experience. Relevant experience is a plus, but if you’re interested in learning about search but don’t have specific experience in it, it’s not a dealbreaker against joining the team. I encourage people to apply even if their experience isn’t necessarily search-specific.
Interested in transforming your career at MongoDB? We have several open roles on our teams across the globe!