I participate in a mentoring activity at local high schools called “Hunt the Wumpus” every spring where we help students build a game that teaches them what it’s like to create a whole working program as a group. At the end of the semester, they come in to Microsoft for a big competition. Judges go around and look at games and code created by each high school group and awards are given to groups with the best implementations.
This year, as I was doing my typical grumbling about how unfair it is that Redmond students always seem to win with first-person shooter versions running on the Xbox, I ran into a former co-worker who was a judge. He asked me how my startup was coming, and told me that as soon as I wanted an intern, I could have his daughter. I laughed out loud at the idea and told him maybe in a few years, since right now my startup is just me sitting on my couch for hours typing on my laptop. “Why not this summer!” he urged enthusiastically. “You don’t have to pay her. And I’ll drive her anywhere.” I assured him that he would be the first person I would contact when I was ready to have an intern.
After the event, I started thinking back to my first internship. It was when I was the same age as this coworker’s daughter – fifteen – at Microsoft on the Windows CE Multimedia team. When people ask me how I ended up in software engineering, I always answer emphatically that it was because of that internship. I had taken AP Computer Science my freshman year of high school, but months of writing for loops that count backwards from 10, and even bumbling through the marine biology case study code on the AP test had really not been that interesting.
During my internship, I worked on a real product team and built a tool that people were going to use for testing. It was a program that displayed different types of triangles and would be used to test the new 3D renderer. There, I was able to write code and see the immediate benefit and usefulness of it. Could someone on that team have written it in a couple hours instead of waiting for me to build it over the summer? Absolutely. But they had me do it anyway, because they knew it would teach me what it was like to code something real and meaningful.
For many students, and especially for girls, computer science is sold as the most banal, pointless thing imaginable. Assignments rarely have students build something that can actually be used. App and web development are fairly easy these days, but still students are learning Java, usually without any user interface, and come out of a year of AP CS with nothing to run or put on the Internet that would be impressive to friends or university CS departments.
The truth is that computer science is not boring at all — it’s actually just about the coolest superpower that you can give yourself. Programs like Hunt the Wumpus and internships are currently some of the only ways to show students what real programming is like before they write it off as boring or some form of impossible voodoo.
So, now to step off my podium and get back to my story – I changed my mind and told my coworker that I would love to have his daughter as an intern. I can’t pay her, and I don’t have a fancy office or cool T-shirts or anything, but hopefully I can give her at least some fraction of the insight into what real tech jobs are like and the empowerment that I was given as a 15-year-old intern. We met for the first time last week, and I’m going to have her do a coding project, some testing, and write a user acquisition plan for high school students. We’ll see how it goes. Hopefully someday she’ll be proud to be WriteBeta’s first intern.