Meet Nicholas Cottrell: How My Experience Using MongoDB Inspired My First Book

Photo of Nic Cottrell siting at desk

I sat down with Nicholas (Nic) Cottrell, Technical Services Program Manager, to talk about his career progression at MongoDB and the exciting news of his recent book release, MongoDB Topology Design: Scalability, Security, and Compliance on a Global Scale.

Ashley Perez: Prior to joining MongoDB, you already were familiar with our products. How did you learn about us, and why did you decide to join the team?

Nic Cottrell: I've always been interested in natural language technologies and was, at the time, building a multilingual version of WordNet to facilitate machine translation of websites. I had experimented with object databases and tried to scale with systems built on top of SQL. I couldn’t find anything that would scale until I stumbled upon MongoDB around 2011.

I remember being at a MongoDB event in Paris where they presented replication and sharding. I was blown away by both the implementation and the potential for scaling. I ended up using MongoDB for consulting clients and personal projects.

I transitioned from customer to employee when I had completed several large consulting projects in Sweden. In spring of 2017, I had moved to France for my wife's work, and it seemed like the perfect time to seek new challenges. I wanted to leverage my experience with MongoDB, so joining MongoDB as a Consulting Engineer that October seemed like an excellent way to complement those existing skills.

AP: Wow. You’ve been working with our technologies for quite some time. So, you started as a Consulting Engineer but continued to progress your career in other ways?

NC: Correct. While I loved the consulting role, the amount of travel made it hard to spend time with my kids (aged one and three at the time). MongoDB is very supportive of work/life balance, so we found that a move into a technical services role would be a good solution. This remote position is much more flexible and means I can pick up the kids from school and make them dinner. I catch up on cases and email in the calm of the evening to round out the day.

AP: What does the Technical Services team do?

NC: The Technical Services team assists our customers with applications and databases already in deployment. We help recover systems when an unexpected event has occurred (hardware failure, for example). We can diagnose changes in performance and track it back to things such as new network misconfigurations, app features, or changes in user patterns.

Being a Technical Services Engineer (TSE) sometimes feels like playing Dr. House. We have to diagnose complex systems with partial information, and success means working with customers to perform the right tests and collect the right information to identify a root cause(s).

In other cases, it’s like playing Inspector Poirot. We can see that part of the system misbehaved, but the obvious suspect is seldom the real perpetrator. Customers can provide a set of diagnostic information including internal metrics from the member nodes, information about the automation of cluster components from our Ops Manager tool, and details of the host and operating system configuration.

We have tools that let us visualize and zoom in to one-second intervals to piece together the timeline of events and solve the mystery. By working in pairs with our engineering colleagues, we solve these issues more quickly and also transfer knowledge and skills to our growing team.

AP: Interesting way to describe it. Sounds as if the Technical Services team is perfect for curious minds who like a good puzzle. You've recently made another career move, right? Can you tell me about your new role?

NC: In August 2020, I moved into a program management role within the same team. I am working on several initiatives, including expanding our knowledge management systems and our premium services offering such as Named TSE.

I am now working with a larger group within MongoDB globally and am involved in the entire life cycle of the technical services experience from the customers' perspective.

AP: How has MongoDB supported your career growth?

NC: MongoDB has very clear and well-defined corporate values. Unlike most places I've worked, people internalize these, and I experience them every day in what we do. In particular, our culture of taking responsibility as a group improves both the product and our service delivery.

As an engineer, I was encouraged to share ideas for changes, propose solutions, and follow through with getting them implemented. I feel as if the entrepreneurial spirit is alive and well despite our huge growth.

AP: I hear the Technical Services team is encouraged to work on side projects. I’m sure that helps accelerate career growth too. Can you tell me a bit about that?

NC: Absolutely. We are encouraged to spend about four hours a week on other projects. For some, this can mean self-education and preparing for accreditations such as AWS professional-level exams.

For me, due to my development background, I focused on improving our tooling. This let me learn a new programming language (Go) and test out our new drivers in the process. The tool I built has become a core component in our case assignment workflow globally. It’'s been great to see it have so much positive impact.

Our staff engineers get to spend even more time on other projects, including guiding junior engineers, and also delving deeper into special use cases, writing tools, and knowledge base articles. All these projects can have a multiplier effect on our capacity as a team to solve customer issues quickly and efficiently.

AP: Very cool. How else do you feel MongoDB sets itself apart from other companies as a place to work?

NC: I love the responsiveness and approachability of our management, from individual product managers to top-level executives. It's a very flat organization, and we make use of modern techniques such as 1:1 skip meetings so we keep two-way communication open across the company. Most things move very quickly, and now that our product catalog has grown, there's a lot of news to catch up on.There are always exciting announcements around the corner.

As an employee, my contributions are appreciated and actioned, and I directly benefit from the financial success of the company.

AP: Thanks for sharing your experience. Now, are you ready to share your exciting news? Congrats on your recent book release! I’d love to hear more about it.

NC: Thank you. My book, MongoDB Topology Design: Scalability, Security, and Compliance on a Global Scale, released in September 2020. It was inspired by questions and concerns raised during my consulting engagements, as well as my participation in our Ask the Experts booths and trainings at various MongoDB.local and World events.

The book is intended to assist large enterprises managing MongoDB themselves on-premises or in cloud instances. These customers tend to have very specific security and data protection requirements and a low tolerance for any negative production impact. I wanted to create something that both management and engineers could read to get up to speed on how MongoDB works and the issues to consider when scaling out a large deployment. There are several small things that can make it much easier to scale out globally later.

AP: That sounds like an amazing resource for our customers. How did members of MongoDB support you during your writing process?

NC: MongoDB itself was very supportive, and I was encouraged to reach out internally to our developers to ensure complete accuracy. My manager even helped proofread my draft copies.

While MongoDB Atlas is definitely the future for MongoDB production deployments, I wanted to make sure organizations that are still required to manage their own infrastructure have a single reference while industries prepare themselves for a fully cloud, SaaS world.

Interested in pursuing a career at MongoDB? We have several open roles on our teams across the globe, and would love for you to build your career with us!