This post is rough, so I apologize. I copied it straight out of an email I sent to a high school student who is considering studying Computer Science and asked me to answer a few questions. Hope someone else finds this helpful.
Why did you go into computer science?
I initially signed up for a class because my dad urged me to – freshman year of high school. I found it interesting and pretty easy, but didn’t think much of it because I didn’t really see how it was useful (this was back before facebook, twitter, and the popularity of phone apps). Near the end of the school year, we had a woman come by and talk to us about the high school internship program at Microsoft. I ended up applying for that, and doing an internship after my sophomore year. That was a big turning point for me.
At my Microsoft internship I got to work on a real product team and feel what it was like to be able to use code to build things that real people would use. It was a big change from writing “for loops” and calling the silly classes for the AP tests. I was on a test team, so my project for the summer was to write a tool that would help test a new 3D renderer. It would take a file with descriptions of different types of triangles and it would render them on the screen. It sounds hard, but with the mentorship they provided me it was totally doable. At the end of the summer I had built an awesome tool that I could show off to people, and it was being (and would continue to be) used by engineers on the team to make sure that the Microsoft phones could display 3D images.
I went back and did another internship there the next summer and got to write a test game for the phone using the same 3D rendering technology. The culture was laid back and fun, the people were supportive, and it felt so amazing to be influencing a product that I knew could be used by millions of people.
I knew going in to college that I wanted to major in Computer Science because of those experiences. There are so many amazing things that being able to program enable you to do – computer science classes only scratch the surface.
Why do you think that more girls should go into computer science?
Studying Computer Science is like giving yourself a tool belt (or even a superpower!). You can have any number of other interests and aspirations – you could be interested in medicine, in community service and fundraising, in space travel, in cars – Computer Science is a tool that you can use to have a huge impact in any field.
Take medicine as an example-
One of the teams I worked on, called Kinect for Windows, enabled people to build medical monitoring systems to be able to keep an eye on patients and alert nurses if they were having a problem. It also enabled surgeons to use computers without leaving their sanitation zone by controlling the computer using gesture.
Software for tracking people’s health and making their information available to all of their doctors is currently revolutionizing the medical world. Before this, doctors used to write down everything that happened to you on paper. If you switched doctors, or if that doctor retired, your medical history was basically lost, or you’d have to go through some long process of getting it physically transferred.
Wearables are big lately – people think about them as watches and glasses, but a huge area of development is for tiny stickers that people can wear that will send information to their smartphones and alert them of any small changes – this is huge – it could help catch a heart attack before it happens by detecting alarming changes in heart rate, it could lower health insurance by showing that someone has consistently healthy metrics, etc.
These are just a few ways that CS can change the medical field. You can find examples like this for almost any field you can think of.
Women tend to pick areas to study that they’re passionate about or that they think they can use to make a difference. My argument is – there is no better major for making a difference in our current world than computer science (and engineering). We are the modern day inventors. We are the ones that any expert in any field needs to be able to actually move the needle.
You don’t need to be a “nerd” or a “geek” or someone who is glued to video games all day to be a computer scientist (not that there’s anything wrong with them!). You do have to work hard, but the payoff is that you have a skill that is in extremely high demand – because it is extremely empowering.
As to the question of why women specifically – right now the field is about 20% women (at best). That means at least 80% of the people who have the ability to use technology to build things are men. As I mentioned above, women tend to want to work on things that they think will really make a difference. How awesome would it be if we had more people with this ability who wanted to build something that would make a difference? Obviously that’s a generalization - but the truth is there are fundamental differences between men and women and for any field to be balanced and to really realize its potential, there needs to be both. We are not truly realizing the power of what can be done until we have equal numbers of men and women.
So, in short: I think that girls should go in to computer science to discover what it will empower them to do and then use it to impact things in the world that they are passionate about.
What would be your advice for anybody looking to go into computer science?
My advice would be:
1.) stick it out
2.) always have side projects that you love
Stick it out – because it’s hard. There is nothing easy about studying computer science. You’ll have to pull all-nighters when your friends are out partying, you’ll have to get a few Cs, a few Fs, (hopefully they’ll be curved up). You’ll have that moment where you fail a project that you worked for days on and have tons and tons of code for because it simply doesn’t work. For women, you’ll have to put up with being the only woman in the room – a lot. You’ll find you always have to prove yourself, even when the men in the room don’t have to. You’ll get hit on when you don’t want to be hit on. The reward is in what you use it for, not the actual process of studying it. It’s worth it, but there will be many times where you reflect on how much easier it would have been to do something else.
Have side projects you love – This is the reward. You can build amazing things. There’s no need to wait until you get a job. The great thing about CS is that you can use it right away. Studying it will make you better – it will make it so that you can get to the boundary of what’s possible and know how to approach pushing beyond it – but that doesn’t mean you have to wait. Most programming is fairly easy. Once you learn to be proficient at one language, the concepts are often the same across the others. Sure it’s tedious, and that first one takes a long time to learn, but before long you’ll have this moment where you got something done in one hour that would have taken you 3 days before. Then you’ll go to learn something new and intimidating and find out it’s basically the same as what you’ve been doing. Your side projects will be the things that get you the dream job, or enable you to start a company. Don’t wait to start them.