I spent my summer 2017 interning as a software developer at Delphix in the Masking team. Delphix Masking Engine offers a platform to manage your data and keep it secure. It has been a wonderful experience to work here and I am surprised by the responsibility I have been given as an intern. During the summer, I worked on developing a self-service tool to allow developers and support team to measure performance data and find roots of instability. Before I dive into the details of my project, let’s talk briefly about why I joined Delphix.
Last spring, I was dabbling with interviews while looking for a software engineering role in the tech industry. I knew I wanted to work as a platforms engineer but I was still debating where I wanted to do it. I came across Delphix while looking for opportunities online and saw the scope of the data platform being built by them. I have always wanted to work for a start-up and Delphix seemed to be a perfect fit with my interest in distributed systems and data management. I applied online on the careers page and I was soon contacted by their university recruiter. We had a great conversation about the company and the team. After a couple of interviews, I signed my offer for a summer internship at Delphix.
I joined Delphix at the end of May. On my first day, we had an intern welcome party where I introduced myself to the team working in the Boston office. I was quickly introduced to my manager, James Lentini, and my mentor, John Gallagher, who guided me throughout the internship, encouraged in-depth discussions and weekly one-on-one sessions. Also, a big shoutout to the other members in my team including Nate Burnett and Ben Page who helped me accelerate throughout the internship. Apart from the amazing work culture, the intern group also engaged in a lot of social events which included a series of lunch sessions with senior executives of the company, volunteer events at the local community and an exciting evening of mystery room escape. To top if off, we had an intern week organized at the SF office. Delphix flew the interns working outside the west coast office, which included me, for a week full of exciting events, including a charity poker tournament, building a lego Saturn V rocket and a Giants game.
My project for the summer was creating a performance tool to gain a better insight of our masking engine. Optimizing performance is critical at Delphix, especially when your service supports petabytes of customer data. The problem becomes even more challenging when you are shipping your engine to customers directly and not running it in the cloud, where you’d otherwise push updates and get real-time performance metrics. Efficiency tracking and infrastructure operations need to be correctly embedded to allow developers to get feedback while they progress. It should also enable the Support team to get useful data to equip them to help customers quickly. Being a data-driven engine, my focus was to collect CPU, memory and network profiles. I considered different approaches and decided to create a pipeline to record various metrics, including call stack traces, step metrics (through snapshots) and to leverage the internals of the OS to get useful data. Overall, the project was clear-cut, but still very open-ended; this helped me take various design decisions by having a specific domain knowledge of the engine and also allowed me to experiment with existing Java profilers.
Overall, my 12 weeks have been an amazing journey. In a start-up like this, there is always a lot to do and too little time to execute everything. This creates an environment for interns to take on projects that are actually important to the company and that have an impact on customers.
Delphix also relaunched itself during this summer and committed itself to a DataOps approach. I got a front-row seat to see how a company this size grows. It was indeed an exciting learning experience.