Making an Impact: Developing and Building Solutions for Our Engineers

Davide De Angelis
Davide De Angelis, Senior Engineer

I first joined MongoDB as a Technical Services Engineer for Applications and Integrations. It was one of the most challenging work experiences that I have ever had and it was way outside of my comfort zone. The variety of technologies and IT knowledge involved is super impressive and I had a lot to learn, which excited me. Our management and team members were very supportive and helped me grow in the role.

After one year as a Technical Services Engineer, I knew that I wanted to get back on track to my fundamental career path: Software Engineering, Design, and Architecture. I had the opportunity to join the Technical Services Tools Team and am now continuing my MongoDB journey as a Senior Software Development Engineer. The role is very innovative and I’m happy because it allows me to develop my career in the direction I want while doing a job that I love within an extraordinary and talented team.

Developing tools that help our Technical Services Engineers

Our team’s mission is to allow the Technical Services Engineers to scale properly as our number of customers to grow, while still providing the same top-notch services. We also help offload repetitive or manual tasks and let engineers focus on providing solutions for our customers. In addition to internal customers, we provide MongoDB customers access to support resources and a growing set of diagnostic tools.

We achieve our goals by automating processes on top of a huge amount of collected data or creating user interfaces to enable the Technical Services Team to consume all the necessary information they need for their daily job. We help them to transform a proof of concept in a production-ready application, by promoting standards, solutions reusability, and framework where necessary. Once the tool is an asset, we can start improving it and providing new feature requests at a faster pace. All of the engineers on my team are encouraged to provide fixes and improvements to their tools.

Using MongoDB to build our internal solutions

How do we do it? We obviously use MongoDB! All of our databases are cloud-hosted on MongoDB Atlas, which provides best-in-class automation and proven practices guarantee availability, scalability, and compliance with the most demanding data security and privacy standards. We also use our serverless solution, MongoDB Stitch, where we deploy our frontend applications. Our team's backend services are hosted on an internal containers deployment platform.

We develop our own solutions, tailored to our requirements based on business needs. We adopt and prefer open-source products with a high grade of maturity whenever possible. We are exposed to a variety of programming languages and technologies like Python, Javascript, TypeScript, Apex, HTML, Kubernetes, RabbitMQ, React, Google and AWS Services. To be successful on our team, you need to have a strong understanding of software engineering, design, architectures, databases, networks, security and UX.

Pursuing a project that makes a real impact

Recently we focused on a project aimed to automate and make the Traffic Cop (TC) role easier within the Technical Services Team. Based on a shift, every Technical Services Engineer has to be a TC for a few hours every week. The TC analyzes the incoming workload and ensures an equal distribution of tasks following certain criteria. They work to reduce the latency between the creation of a customer support ticket and the assignment to an engineer. They also step up when critical problems arise and proactively assign them to the correct engineers. This role can be difficult and it requires a lot of focus, contextualizing problems, and interacting with customers and engineers with different overlapping time zones.

So what did we do? We developed a set of services for analyzing our data, like customer tickets content, and assigned labeling for determining the problem type and matching with engineers based on their skill set and availability. Then, we transformed all of this data into an input for an algorithm to generate a best match solution based on a general mixed-integer programming solver. We developed the solution in Python taking advantage of Google OR-Tools suite and queueing systems like Celery and RabbitMQ. Now we are able to automatically provide suggestions about who is the best engineer for incoming customer issues. We are continually improving the project based on feedback and newly collected data.

Why I love what I do

Information Technology is one of the fastest-changing industries and as a result, it demands continuous self-evolution. As you gain experience in the field, you also need to embrace new technologies and adapt to changes. I always strive to be in an environment that supports and encourages self-improvement and promotes collaboration with people who have different points of view than my own. I found everything that I was looking for in my career at MongoDB and I couldn’t be happier!

Interested in joining our Engineering Team? Check out our Careers Page for opportunities!