September 14, 2026

For Nimish Jain, working on FreeBSD this summer meant getting an up-close look at something he had long been curious about: how large, complex pieces of software work together.

A Software Engineering student at the University of Waterloo, Nimish is preparing to enter his second year. He was already a longtime FreeBSD user when he came across the FreeBSD Foundation internship opportunity through his university’s job portal.

“As soon as I saw the word ‘FreeBSD,’ I had to apply,” he said.

That decision led to a summer of working across several areas of the operating system, learning from experienced FreeBSD contributors, and seeing his own code make its way into a project used around the world.

From FreeBSD User to Contributor

Nimish doesn’t remember a single moment that sparked his interest in systems programming. Instead, it grew from a broader curiosity about software.

“I have always been curious about how large pieces of software work together to complete a task,” he said.

That curiosity, combined with his experience using FreeBSD, made the Foundation internship stand out immediately. The internship also gave Nimish the opportunity to work on more than one area of the Project. Over the summer, his work included upgrading virtualization drivers, working on a way to connect to a filesystem over a network, and porting a Raspberry Pi installer to FreeBSD.

The variety gave him an opportunity not only to write code, but also to better understand how different parts of a large operating system interact.

Learning Through Code Review

For Nimish, some of the most rewarding moments of the internship came after he submitted his work and waited for feedback.

“The most rewarding part of this internship has been waking up to an email saying someone has reviewed your work,” he said.

Code review became an important part of the learning process. Seeing how experienced contributors approached the same problem often introduced him to solutions he hadn’t considered.

“I’m often delighted when someone else points out an elegant approach I missed out on,” he said.

And, of course, there was another particularly satisfying moment familiar to many developers: when the code worked on the first try.

Navigating a Large Codebase

Working within an operating system also introduced Nimish to one of the biggest challenges of large-scale software development: complexity.

With so much of the system to understand, he spent a significant amount of time reading through FreeBSD internals and asking questions.

Writing the code itself was an iterative process.

“You start out with a draft, refine, and then revisit until you think the logic makes sense,” he said. “Going through all those stages was both tough and fun.”

That process helped him see that contributing to a large project is about more than immediately knowing the right answer. It requires taking the time to understand existing code, asking questions, testing ideas, incorporating feedback, and refining a solution until it works within the larger system.

Experiencing the FreeBSD Community in Person

This summer, Nimish also attended BSDCan and the FreeBSD Developer Summit, where he had the opportunity to meet contributors and hear discussions about the future of the Project.

“It was awesome seeing so many people interested in FreeBSD share their thoughts on going forward,” he said.

He particularly enjoyed the coding sprints in the hacker lounge, where contributors could work together and exchange ideas outside of the formal conference sessions.

One talk that stood out explored keeping an SSH connection alive even when a machine goes down. But for Nimish, some of the greatest value came from simply meeting other members of the community and hearing how they approached problems.

“Meeting different people and understanding their perspectives on issues I cared about helped me decide what I want to work on and how to go about solving it.”

Seeing How Open Source Fits Together

Before his internship, Nimish tended to think of open source projects as relatively self-contained. Working on FreeBSD changed that perspective.

“This internship has made me realize how large the open source ecosystem is,” he said. “Forget different projects, there are so many subsystems within FreeBSD itself!”

The deeper he went into the codebase, the more he saw the connections between different components. A change in one area may depend on another subsystem, affect another project, or require updates in multiple places before everything works as expected.

“Everything is tied together so well that we often don’t grasp what is required to make everything work.”

That interconnectedness became one of the biggest lessons of his internship, and one of the things that made working on FreeBSD at scale so valuable.

Start by Exploring

For students interested in making their first FreeBSD contribution, Nimish recommends starting with curiosity rather than worrying about knowing everything upfront.

“I’d say take time exploring the system,” he said.

Reading the code is often where the process begins.

“It is usually when you’re reading through code that you start to ask yourself questions,” he said. “Questions that lead to discussions, collaboration, puzzlement, and development.”

For Nimish, those questions are part of what makes working on a project like FreeBSD interesting. There is always another subsystem to understand, another connection to discover, or another problem worth exploring.

Continuing With FreeBSD

Nimish plans to continue contributing to FreeBSD after his internship, particularly in virtualization. He is also interested in eventually exploring FreeBSD’s virtual memory subsystem.

Looking further ahead, he plans to continue working in distributed systems programming while also making room for another longtime interest: computer vision.

Whatever direction that takes him, his internship gave him something difficult to replicate in a classroom: the experience of writing software that becomes part of a major operating system.

“Seeing something you coded being deployed to a major operating system, and ready to be used by thousands worldwide, is amazing,” he said. “The technical challenges of working at scale are extremely rare to find anywhere else.”

Nimish also credits the people who helped make that experience possible. He thanked Siva Mahadevan and Ed Maste for the opportunity and for answering his questions throughout the internship, as well as Mark Johnston for reviewing much of his work.

Just as important was the environment surrounding the work.

“Everyone here is also very helpful, and it doesn’t feel like a hurdle approaching anyone,” he said.

The freedom to explore was another defining part of his experience.

“I think that is extremely rare too.”

Asked to describe his time working with the FreeBSD Foundation in one word, Nimish chose a simple one: stellar.

For a student who began the summer curious about how complex software works together, the internship offered the chance to do more than study that complexity. It gave him the opportunity to work within it, contribute to it, and help shape what comes next.