Preeti Upendra Murthy is the academic winner of the 2016 Red Hat Women in Open Source Award.

She is currently a software engineer with the VMKernel team at VMware, and prior to her role there was a Linux kernel developer for the Linux Technology Center at IBM where she focused on energy management.

As a graduate student at Carnegie Mellon University pursuing a degree in Electrical and Computer Engineering (and open source), she will soon be looking for her 'dream job'—though as she tells me in this interview, she doesn't exactly believe that exists.

Let's start at Carnegie Mellon. As an undergrad, where you involved in open source?

During my undergrad education, a group of us were involved in encouraging students to use Linux on personal laptops as a start to working with open source technologies. I was part of the Linux User Group (LUG), where students used open source tools for hobby projects.

For my undergraduate thesis, I worked on building a code optimizer for Mono, which is an open source framework to build cross platform applications. Several of us used open source tools for the coursework as well.

At what point did you decide to tie electrical and computer engineering together with open source?

I worked as a Linux kernel developer in the areas of scheduler and power management. It was fascinating to gain a deeper understanding and contribute to development in these areas. After a while, I felt the need to gain more breadth in my understanding of computer systems. A holistic view would not only help me better contribute to Linux, but would also enable me to explore other domains in a computer system. Towards this end, I chose to pursue graduate studies in the Electrical and Computer Engineering department of Carnegie Mellon University, which offers a wide range of courses in computer systems and is carrying out cutting edge research in this field too.

At IBM, you began working on the Linux kernel: What surprised you? What frustrated you? What made you happy?

It surprised me to see how well the open source community orchestrated the development of a big project such as the Linux kernel. It was fascinating to see the discipline and passion with which the developers were driving the community.

It made me really happy to see the encouragement and guidance that the community offered to new developers.

Nothing really frustrated me in particular, but a lesson that most kernel developers take back is to learn from our mistakes quickly. It tests the time and patience of the kernel maintainers to repeatedly correct the same errors in code or documentation.

Now you're back in school earning a master's degree from Carnegie Mellon to study a class of devices called energy harvesting systems. What is that?

Energy harvesting devices are an emerging class of embedded devices which are used in compute and sensing applications on a small scale. They do not have large capacity to store energy. This has advantages and disadvantages. The primary advantage is that they are less bulky and can be embedded on materials in an intrusion free manner. The primary disadvantage is that they function as long as they are close to a power source and can sustain that energy for just a little longer while they are away. Thus, programming for these devices is a challenge because they behave intermittently based on their proximity to the power source. There are several interesting applications of these devices such as embedding them on milk cartons to monitor temperature or underneath roads to monitor vehicular movement by sensing vibration or even embedding on human body to monitor health.

What would a world without open source look like? Can you image it?

Open source has provided more avenues for developers. The cooperative development that governs open source technologies can lead to better solutions. Besides, by discussing problems in the open, one can know if they are already solved or if they are worth solving, thus leading to better investment of time and money. I can imagine a world without open source, but it would be one with lesser freedom to develop and a slower rate of innovation in technology due to siloed development.

What's your dream job?

I would like to work in a place where developers are encouraged to work together to solve common problems affecting a wider population in the world. I also don’t suppose there is something like a dream job because all jobs have phases of excitement and monotony. It is important to me personally to be able to give a job my best effort possible.