Ask the Interns: Tulsi Jain

Tulsi Jain is an engineering intern on the Systems Platform team in Redwood City, California. Originally from India, he is currently a graduate student at New York University, studying Computer Science. Hear about his secret talent, why he was inspired to join Delphix, and his experience building new features in ZFS.

Pictured left to right: Tulsi Jain, Pearl Ruparel, Brandon Lim, Grant Parton, Uzair Inamdar

What inspired you to join Delphix?

I was very surprised at Delphix’s unique interview process and recruitment efforts. First off, I had the opportunity to talk with multiple managers from various teams to find the right group that aligned with my interests. The teams also made sure that no bias was involved in the hiring process. Then, two weeks before the internship started, my manager sent me a list of prospective projects that I could select from, which is not something most companies do. I was inspired to join because they were all real projects that I could make an impact on and get experience with throughout my time here.

What project was your internship focused on?

My project was focused on improvements for data corruption traceability and recovery in ZFS. 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.

What is the biggest challenge you faced and what did you learn from that experience?

At the beginning of the internship, I struggled with understanding the existing codebase. ZFS has over a million lines of code, so I couldn’t quite understand which data structures and modules I was supposed to work with. Over the last three months, I was able to break down the problems by looking into every module and meticulously examining the modules responsible for error reporting.

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. The coolest part about my project with ZFS is that it’s open source, so I had a chance to collaborate with the wider ZFS open source community in addition to the teams at Delphix.

What’s one thing you wish you knew before starting this internship?

I’ve primarily worked with Java and Python, so getting up to speed with C, another programming language, was fairly difficult. If I had known the language ahead of time, I may have had more success with quickly acclimating to the projects here.

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

Ask a lot of questions because 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. During my three-month internship, I enjoyed spending time and meeting with new people, especially because the Bay Area hosts so many networking events and tech talks.

What’s your secret talent?

Calculating quickly without calculator.