Takeaways from a Summer Engineering internship at Delphix

Written by Peter Vilim,  (UIUC '15, Delphix Intern, Summer 2014)

Written by Peter Vilim, (UIUC '15, Delphix Intern, Summer 2014)

I had an amazing summer at Delphix. I want to share a bit about how I found Delphix and the experience of applying and interviewing there. I am currently a master's student at the University of Illinois at Urbana-Champaign. I started looking at where to work for the Summer in January. I had previously worked in a variety of sectors including high-tech R&D, strategy consulting, high frequency trading, transportation, and at companies ranging from 15 people to 50,000 people.  

For the summer I decided to interview at four types of companies: late stage startups, proprietary trading firms, hedge funds, and large tech companies. I already generally knew the companies that interested me in the latter three, but I wasn't as sure about the former. I decided to look at the portfolios of funded companies for several well known venture capital firms. I figured that most late stage startups have received several rounds of venture financing and that a quick way to find a list of them would be the websites of venture capital firms.  

I found Delphix while looking through a list of companies backed by Lightspeed Venture Partners. I was immediately struck by how interesting and technically challenging the problem Delphix is trying to solve is. The concept of data virtualization is obviously highly non-trivial to anyone who has some basic background in relational databases.  

After further investigation, I was also struck by the very high level of engineering talent present at Delphix.  I found that the creators of DTrace and ZFS, cool projects which I had heard of before, both worked at Delphix. It wasn't surprising that the sort of problem Delphix is trying to solve would attract highly skilled engineers. My first interview with Delphix was a basic technical phone screening.  

Amusingly, Delphix was actually on campus the semester that I applied, but I didn't know about that since I found the company through other means. After that I had another longer phone interview with some much more in-depth technical problems. This was followed by a conversation with Amanda, the campus recruiter, about my interests and goals.  

Finally, I had a discussion with Adam Leventhal, the CTO of Delphix, about my background and previous work. I did end up receiving offers in the four groups in which I was interested: late stage startups, proprietary trading firms, hedge funds, and large tech companies. While I was in the process of deciding where to work for the summer I decided to try to talk directly with a previous Delphix intern. So I looked up Matt Ritter on LinkedIn.  

He was very friendly, and I was able to have phone conversation with him about his experience working at Delphix. He confirmed that I would get what I was interested in out of the summer. I chose Delphix because of the interesting technical problems involved in data virtualization and the high level of technical talent present at Delphix. I figured that because of these two factors I would learn a lot over the summer, and I was not disappointed.

Peter, and his mentor, Jordan
Peter, and his mentor, Jordan

I don't think I just speak for myself when I say working at Delphix for the Summer was a great experience. I've noted a few ways in particular that I enjoyed my internship on the engineering team at Delphix: 1. I was able to do full-stack development. Most of my background previous to Delphix focused on doing low level work in C and C++ and algorithm work in various branches of computational mathematics. At Delphix I had my first opportunity to do modern full stack development.

One of the cool aspects of the product that Delphix builds is that it involves a full range of technologies ranging all the way from the operating system kernel to front end JavaScript and everything in between. During the summer I worked on the main application Java stack, several different virtualization services for different types of databases, a CLI driven by node.js, a front end driven by Knockout, and visualization created with D3.js. 2. I was able to apply some CS theory.  

Graph theory is one of my favorite research areas. One of my projects involved building a system that constructed a visualization tree from objects that were being retrieved asynchronously from a server meaning that a child node could become available before its parent. I employed multiple different types of hash tables and recursive functions to support all of the features that I needed while achieving excellent performance, and I wrote up a summary paper of the approach along with the associated computational complexities before I implemented the algorithm.

It was cool to be able to apply some computer science concepts that I learned in classes. 3. I got to pick what I spent my time doing. Delphix engineering highly values people who enjoy exploring new areas and are pro-active about finding improvements that can be made to the product. At the start of the summer I was given three suggestions for different potential projects, and the one that I chose was quite open-ended with lots of room for me to more concretely define it as the summer progressed.  

While doing my main project, I was also able to pick up several interesting side projects which exposed me to areas of the product I wouldn't have otherwise worked on. So I would definitely recommend spending your summer at Delphix, and I won't find it weird if you look me up on LinkedIn to ask me more about my summer.