Blog

Spending the Summer at Delphix: 2019 Intern Edition

Thumbnail
Once again, we were thrilled to host a talented and ambitious group of engineering interns across our offices in Redwood City, San Francisco, Boston, and Atlanta. Here’s what our class of 2019 interns were up to this summer.

Great work experience doesn’t just happen—it takes effort, patience, and nurturing from managers and peers. We believe the best internship programs offer a strong culture of mentorship, career growth, end-to-end ownership of real-world projects, and a big focus on making an impact. Once again, we were thrilled to host a talented and ambitious group of engineering interns this year across our offices in Redwood City, San Francisco, Boston, and Atlanta. Here’s what the class of 2019 interns had to say about their summer internship experience with Delphix. 

What project was your internship focused on?

I was responsible for adding theming support (customization of colors) to our Virtualization engine. I designed and built the theming API from scratch to provide users the ability to create, read, update, and delete their own custom themes. I wrote core logic that defined the hierarchy and availability of these themes, which included implementing components to interact with these APIs. 
Uzair Inamdar, UI intern in Redwood City, Calif. 

I worked on parallelizing Blackbox, Delphix’s internal testing framework. I began by writing a Python command line tool that launched simultaneous remote test runs. These parallel test runs were split up from much larger test runs that run on separate virtual testing environments. I incorporated the tool into a Jenkins pipeline, so parallel testing could be further integrated into Delphix’s testing infrastructure and make it easier for other developers to use. I enabled tests to take half the amount of time, allowing developers to test new features or bug fixes faster. 
Brandon Lim, QA Infrastructure and Engineering Ops intern in San Francisco

 My project was focused on the storing of performance test data for easier querying and the visualization of the data in real-time to compare between nightly test runs and different releases. I began with thoroughly researching time-series databases and the various visualization tools to determine the best and most compatible one for the purposes of this project. The second component included automating the process of storing and visualizing the test results for the different performance tests as well as setting up alerts to compare between previous releases and test runs. This capability allows for quick detection of any performance regressions without having to look through rows and rows of data. 
Pearl Ruparel, QA performance intern in Redwood City, Calif. 

I was in charge of building improvements for data corruption traceability and recovery in ZFS for my internship project. It involved understanding how the current error reporting framework works and the limitations as well as developing new features to easily understand the causes of errors since the error reporting framework did not output enough information required by support engineers. My project was divided into three phases: (1) capturing the output of information on how much and which part of a file is corrupted, so support engineers can go directly to the disk and find out what is wrong with the data corruption; (2) adding extra functionality to scrub only error blocks, enabling support engineers to come to a conclusion about whether the data corruption error is transient or permanent in a short amount of time; (3) outputting all affected datasets since ZFS is a copy-on-write filesystem and only one data block can be shared among multiple datasets.
Tulsi Jain, Systems Platform intern in Redwood City, Calif.

My work had to do with removing the need to store credentials within Delphix’s Virtualization Engine and allow customers to store and manage all of their credentials in their own centralized password vault. There were two main components to the project, the first was building a common component for Delphix Virtualization and Masking to interact with enterprise password vaults. The second part was integrating this component into the Virtualization Engine so that a password vault could be used in place of a simple username and password. 
Claire McManus, security intern in Atlanta

I helped carry out the implementation of an archiving procedure for our cloud infrastructure resources. I enabled a process for our engineers to create images from instances on archival and recreate instances from the archived images. Generating an image of an instance could be stored for roughly half the price of running instance disk volumes. While adding the ability for instances to be archived/relaunched was the most important part of my project, this project also warranted extensive testing to ensure that this new state of instances didn't disrupt any existing functionality.
Grant Parton, DevOps intern in San Francisco

For my internship project, I added support for Enterprise Password Vaults (EPVs) to Delphix Masking, allowing the retrieval of credentials without requiring the need to store them within Delphix’s Masking Engine database. It involved (1) building an API by which customers could create, retrieve, update, and delete actual credentials (for legacy support) or the information necessary to retrieve credentials stored in an EPV vault; (2) Integrating the use of a library to validate and retrieve EPV credentials; (3) Incorporating these changes to perform actual in-place and on-the-fly masking jobs for database and file connectors. 
Sonam Kindy, masking intern in Boston

What key skills and/or experience have you gained from your time at Delphix?

This summer has been the perfect opportunity to delve into a new space and learn best software development and design practices, such as kernel debugging which was completely new to me. I also had a chance to collaborate with the wider ZFS open source community in addition to the teams at Delphix.
Tulsi Jain, systems platform intern in Redwood City, Calif.

Working on a large codebase, I learned about good software development practices and code standardization. The feedback from code reviews helped me write more maintainable and understandable code. By the end of my internship, I was able to report and troubleshoot bugs and errors, review code, and consider other design challenges I had no exposure to before. 
Pearl Ruparel, QA performance intern in Redwood City, Calif. 

Being able to receive feedback and learn from other engineers on the team. School group projects do not hold a candle to this experience. The insight you gain from engineers working in the industry about the quality of your design and actual implementation (code) is priceless. 
Sonam Kindy, masking intern in Boston

My biggest gain was learning how to review code. At this company, everyone matters. The core values, including “Foster Trust,” aren’t just words on a wall —  they’re values the company truly practices. Even as an intern, I was given enough trust to review other engineer’s code, and my feedback was often applied to the next revision. By the end of my internship, I completed around 100 code reviews. 
Brandon Lim, intern with QA Infrastructure and Engineering Ops

The most crucial skill I’ve gained during my time at Delphix is working with cloud infrastructure platforms. Cloud computing has become an industry standard, and it’s been great to have three solid months to absorb knowledge about standard workflows and processes within the cloud. I’ve always known that having a baseline understanding of these concepts is important, but the level to which I was exposed to AWS during my internship has made me a much stronger engineer.  
Grant Parton, DevOps intern in San Francisco

The most important skill I gained was working as a team. In school, most of the work you’re tasked with is done individually, so it was very different coming to Delphix where teamwork is crucial to success. Not only did I have to work closely with my own team, I also had to collaborate with other groups throughout the organization in different locations to make the project successful and beneficial to customers.
Claire McManus, security intern in Atlanta

What is one piece of advice you would like to share with future interns?

Ask a lot of questions. It’s better to ask when it’s on your mind rather than waiting around for the question to answer itself. Everyone is working towards a common goal, so by helping you, they’re helping the entire company.
Claire McManus, security intern in Atlanta

Don’t be intimidated. Don’t be scared to dive into a massive codebase. Just because you’re an intern doesn’t mean you can’t ask questions and get better. 
Brandon Lim, QA infrastructure and engineering ops intern

As an intern, you’re not expected to know everything. If you think you’re going in the wrong direction, check with your mentor and manager and get the feedback you need to be set up for success. 
Tulsi Jain, Systems Platform intern in Redwood City, Calif.

Take the time to meet as many people as you can, even if you don’t have the chance to work with them. Software development is a team sport, and there are a ton of teams that contribute to this process. 
Grant Parton, DevOps intern in San Francisco

Don’t be afraid to ask questions or ask for help because your success as an intern can greatly depend on these two things.
Uzair Inamdar, UI intern in Redwood City, Calif. 

Have fun, be kind to yourself, and ask any and all questions!
Sonam Kindy, masking intern in Boston

Tags