Life at Nutanix

Life At Nutanix POV: My Software Engineering Internship

William H.

January 10, 2024 | min

At our London office

At our London office

I'm William (he/him), a Software Engineering Intern at Nutanix completing a 12-week internship in the Cambridge, UK office. In this post, I’m going to take you through what my day looks like, sharing my thoughts about the Nutanix internship experience as we go along!

Getting to Work

Dry and sunny day in Cambridge

Dry and sunny day in Cambridge

I wake up at 8 AM and walk across Cambridge to the Nutanix office. I’ve found myself more often than not buying breakfast on the way to work, largely because it gives me a well-needed extra 15 minutes in bed!

There's some flexibility as to how much I work in the office versus working remotely. For me, an important part of the internship experience is working in an office and getting a feel for that sort of working environment. After all, I'm well used to working for hours on end in my room during term time - it's quite a relief to escape.

Checking my notifications over breakfast

Checking my notifications over breakfast

I get to work around 9 AM and check my Slack, GitHub, and emails while eating breakfast to review my priorities for the day. Today this involved letting the maintainers of an external open-source project called cloud-hypervisor know the status of my project, as they use the protocol I'm working on updating. 

Once I've gone through my messages, I get to work. I suppose now would be a good time to mention what I'm working on.

My Project

The Cambridge office is where the AHV team is based. Nutanix AHV, or Acropolis Hypervisor, is Nutanix's in-house virtualization solution, based on the open-source KVM hypervisor.

I'm on the AHV storage team, working to define and implement a new virtual device live migration protocol based on recent updates to VFIO in the Linux kernel. It's part of the open-source vfio-user protocol, which is used to achieve very low latency when virtualizing NVMe devices, among other things. This also involves liaising with the QEMU open-source community to upstream the new protocol, a very scary prospect but undoubtedly an extremely valuable experience for me.

My desk at the office

My desk at the office

Doing Some Work

Once I've gone through all my messages, emails and notifications, I get to work. Today, I was working on implementing DMA dirty page logging as specified by the new protocol.

One of my favorite things about interning at Nutanix is that the work that I'm doing is useful work that genuinely needs to be done. I feel productive and excited to contribute to a product that customers will really use!

I got rather stuck with this particular bit of work, as I didn't fully understand the former implementation, so improving it was a bit of a challenge! After going around in circles for a while, I asked my mentor Thanos for some help. He very kindly spent the next half-hour explaining the former implementation, and we discussed the potential issues with the new one, which cleared up all my confusion, so I was able to get back to making progress. I love how willing everyone is to help us interns out when we inevitably get stuck!

Lunch

After a few hours of work, the team usually orders lunch. We often get delivery from different Cambridge restaurants, and today we got Thai food, which was pretty good. 

Lunch is a great team activity as well as an opportunity to have a casual chat with others. It can be a useful time to informally discuss ideas and issues too. Today, however, we discussed the history of the fork.

On days we don’t get lunch delivered, I pop into town to buy some food or meet up with friends for lunch. The lunch break is very flexible: it starts whenever you're hungry and, while it's supposed to last around an hour, nobody minds if some days you take a bit longer and some days you’re quicker.

Afternoon Meeting

Weekly meeting with the datapath team

Weekly meeting with the datapath team

After lunch today it was time for the weekly meeting with the datapath team. This is an opportunity to discuss what we're working on, to raise any technical issues we may have, and to have higher-level discussions about what we're working towards.

There are members of the team in 3 different countries and even different continents so most of the team work remotely and join our meetings on Zoom. It’s normally a pretty even split between those joining in-person and those online. We all enjoy the flexibility.

I generally have three or four meetings a week, including at least one with all of AHV, one with the datapath team, and one with my manager, Andrew. The latter involves discussing how I'm getting on with my project, whether I have enough support from the rest of the team, and career advice. It’s a very useful 30 minutes!

Back to Work

After the meeting, I go back to work, applying the new understanding I gained from my discussion with Thanos. I made some good progress with the project for a few more hours until it was time for a short pause from work…

Chess Break

Neetish calculating his response to my rather dubious move

Neetish calculating his response to my rather dubious move

Several people in the office play chess, so every so often it's fun to take a quick chess break! Today I played a couple 5-minute games against my colleague Neetish, winning the first and drawing the second. I’ve also played several times against one of the other interns, Tom, as well as Felipe, who is the leader of AHV and incredibly good at chess. There's a chess tournament in Cambridge coming up that we're all going to play in, which I'm looking forward to.

End of the Day

After a bit more work, I get to a good stopping point and call it a day. I like that there's no pressure to work until exactly 5:30 PM - we leave when we're done for the day.

I usually walk home and cook dinner after work, then work on personal projects or watch a film. Sometimes I meet up with friends for dinner to find out how they’re doing and to compare notes on our internships - from what I've heard, the work I'm doing at Nutanix is by far the most useful and relevant. It seems I’m definitely doing more work than my friends! Overall, though, I'm certain that I'm working in the right place: I get on very well with my colleagues and the work is interesting and great fun.

Conclusion

I'm really enjoying my Software Engineering internship on the AHV team at Nutanix. I hope this post has given you some insight into what it's like to intern at Nutanix. 

If you want to learn more, feel free to get in touch.

***

Want to learn more about Life at Nutanix and our internship and job opportunities? Follow @LifeAtNutanix on Instagram or LinkedIn and explore our careers page.

© 2024 Nutanix, Inc.  All rights reserved. Nutanix, the Nutanix logo and all Nutanix product, feature and service names mentioned herein are registered trademarks or trademarks of Nutanix, Inc. in the United States and other countries. Other brand names mentioned herein are for identification purposes only and may be the trademarks of their respective holder(s). This post may contain links to external websites that are not part of Nutanix.com. Nutanix does not control these sites and disclaims all responsibility for the content or accuracy of any external site. Our decision to link to an external site should not be considered an endorsement of any content on such a site. Certain information contained in this post may relate to or be based on studies, publications, surveys and other data obtained from third-party sources and our own internal estimates and research. While we believe these third-party studies, publications, surveys and other data are reliable as of the date of this post, they have not independently verified, and we make no representation as to the adequacy, fairness, accuracy, or completeness of any information obtained from third-party sources.

This post may contain express and implied forward-looking statements, which are not historical facts and are instead based on our current expectations, estimates and beliefs. The accuracy of such statements involves risks and uncertainties and depends upon future events, including those that may be beyond our control, and actual results may differ materially and adversely from those anticipated or implied by such statements. Any forward-looking statements included herein speak only as of the date hereof and, except as required by law, we assume no obligation to update or otherwise revise any of such forward-looking statements to reflect subsequent events or circumstance.