The Linux Foundation became a sponsor for the FOSS Outreach Program for Women earlier this year, choosing seven interns to hack on the Linux kernel from June through September. And, the results are in: the intern group ranked among the largest contributors to Linux kernel 3.12.
I asked Lisa Nguyen, one of the seven women interns, what it was like to work full time on the Linux kernel, with Linux developers, remotely for four months. In this interview, Lisa shares with me why she didn't tell anyone she was applying, what surprised her most about hacking on the kernel, and why she gets up in the morning hungry for more.
The FOSS Outreach Program for Women is sponsored by the GNOME Foundation: mentorships are available any time and internships every four months. Each intern recieves a $5,000 stipend and $500 travel voucher to attend a conference. To see a list of organizations that will participate in Round 7, go to the wiki.
Did you talk to a friend or mentor about applying to the Outreach Program for Women internship?
I didn't say anything to anyone until after I applied for the FOSS OPW program. It wasn't my intention to keep it a secret, but I spent so much time reassuring myself that I had something to offer as a potential Linux kernel intern. There were many times when I thought, "Well, maybe I'm not good enough so why bother?" Then the next day I thought, "What do I have to lose if I don't try?" It was annoying to have conflicting thoughts for days. Eventually, I told myself that I wanted to improve my current situation, so I went for it.
What surprised you about the Linux kernel?
- I haven't been treated differently because I'm a woman. The kernel community is friendly as long as you read documentation, ask specific questions, have patience, and accept feedback from others. I haven't been told to "RTFM" or discouraged from sending multiple versions of my patchsets.
- The amount of email that a Linux kernel maintainer gets is insane. Recently, I noticed one maintainer's inbox full of 27,000+ unread emails, and that alone made me appreciate and respect all maintainers even more. For those who wonder why it takes days before their patches get reviewed, this could be a very good reason, so please be patient.
- Everything takes time. Really. I've been told that it may take years for one person to master one subsystem out of hundreds. The kernel can be very overwhelming for anyone, and it's important to start small. Doing simple cleanup fixes has helped me understand code better over time.
- The code that I saw in the Linux kernel contradicted what I learned in school. In school I was forced to avoid using goto statements, yet I saw them everywhere in the kernel!
What was your previous knowledge of the Linux kernel? Of open source software?
My knowledge of the Linux kernel was through a textbook in my operating systems class. That's it. I had no hands-on experience with the kernel since I was a Windows user.
My knowledge of open source software was very limited back then. I only knew some open source software by their names, such as LibreOffice and Ubuntu, from friends who have used them, yet I didn't bother to look more into it at the time. My knowledge in Linux didn't expand until two years ago when I took my first Intro to Linux course and became a Linux user since then.
What does open source mean to you?
One word: collaboration.
It's amazing to see people coming together from all over the world to create products and services that will benefit everyone, and Linux does that. Every contributor has a voice in the open source community. Some people might take criticism more personally than others, and some people may get into debates for weeks or months, but that is to be expected. If everyone agreed on everything in seconds, I'd be worried. As much I prefer to stick to my own coding style, I won't dismiss another person's opinion to use a ternary operator in a return statement to save one line of code.
What keeps you hungry in software development? What's your dream job?
Being around inspiring people who respect me as a person.
I felt like I won the jackpot when I scored a job as a software engineer at Linaro not long ago, which I'll be starting in mid-November. For me to be hired and mentored by Kevin Hilman, a well-known ARM kernel maintainer, was more than I expected. I get to work full-time remotely and travel around the world as a part of my job. Everyone I met at Linaro Connect in Santa Clara, CA, including the VP of Engineering and the COO of Linaro were fun to talk to. I couldn't be more excited to land this wonderful dream job. Talk about being mindblown.
Do you have a mentor or friend who inspires you?
Many people inspire me!
My love of science started when I was in second grade, and it was taught by a female science teacher who made the subject sound exciting! Also, I woke up early as a kid to watch Mr. Wizard's World at 6:00am every morning before school. I thought it was awesome to watch a group of boys and girls perform scientific experiments with Don Herbert. I didn't see any discrimination there!
During my childhood, my aunt Cindy used to work as a network administrator. I thought what she did looked so cool that I wanted to be like her. Cindy taught me how to type when I was nine years old, and I shadowed her at her old workplace multiple times. My parents bought a mini computer for me that I played with everyday after school. I took Cisco Networking courses during my senior year in high school, and they were taught by a female instructor with a CCNA. It wasn't until college that I started noticing how the computer science field was male-dominated. I came from a place where gender didn't matter. Everyone had equal opportunity in my mind, and I was confused to figure out why many men hesitated to work on a group project with me. Did they think I had cooties? I'm not sure.
When I applied for the FOSS OPW program, the mentors provided a safe hacking space for someone like me who had never worked on the Linux kernel before. In the beginning, I found out that some applicants had Masters degrees, were long-term Linux users, and bragged about their accomplishments. I immediately thought, "Oh no, I don't have a chance now." I felt depressed for a few days until I chose to make myself stand out from the rest. I stopped thinking about how everyone else seemed more qualified, and before I knew it, I became one of the most memorable women in our IRC. I thanked every single person who gave me feedback and helped me troubleshoot issues. I said Hi to everyone whenever I logged into the IRC. These simple gestures made a huge difference, and I walked away with new friends and trust from multiple Linux kernel maintainers.
To give back to the Linux community, I volunteered as a session coordinator at LinuxCon North America last September for two days and networked with The Linux Foundation staff. Right now, I'm helping mentors review patches and answer questions from new OPW kernel applicants who applied for this winter round. It feels so good to put in my Reviewed-by tags, especially when I've only done kernel development since last May. Whenever I have a question, I have many Linux kernel maintainers, Linux users, and Linux loving friends to ask for a second opinion.
What is your take on women in tech?
There can never be enough women in tech.
I feel sad when I meet women who are unable to overcome their bad experiences in math and science, and they automatically assume that I was born with a special talent, which is completely false. Technical information is still difficult for me to understand, yet I developed a strategy to translate technical terms into my own words so they would stick in my brain. I was discouraged often to become a computer scientist in the past. Either I could let bad experiences haunt me and let critical people dictate my life, or I can continue encouraging more women to pursue a career in a STEM field. If I can be social and technical at the same time, then any woman can. I had people who didn't believe that I was a computer science major because I sounded like an average person who didn't fit into any geeky stereotypes.
What was your favorite subject in school and why?
I've always loved math because it allowed me to use my problem solving skills. I've been mistaken as a math major many times, and it still happens occasionally. I used to obsess about certain math problems that I couldn't easily solve, and they'd be on my mind wherever I went. If I ate dinner with a friend at a restaurant, I wrote steps down with a pen on napkins. I used to work as a math and computer science tutor at multiple colleges for years as well.
If it wasn't math, then it was art. I skipped a lot of lunch periods in high school to draw big portraits in charcoal and pastel in the art room, so I could be in touch with my creative side.
Are hobbies important?
I am a bingo fiend. Yes, I hang out with the elderly at the bingo halls sometimes, and they share the most interesting life stories. They've inspired me to take risks because life is too short. Cliche as it sounds, it's true. It's very important to maintain other interests, especially some non-technical ones, to feel more balanced.
Lately, I've been losing sleep from listening to piano versions of my favorite songs on YouTube, but music relaxes me. I still doodle every now and then and laugh at silly jokes with friends. I must have a clear mind before I dive into the kernel.