|Image from Pixabay|
As August winds down, it’s time for those of us embarking upon college to gear up and start classes. As I prepare for my own programming and software project management classes to begin, I can’t help but think back to my first run at college, as a freshman in computer science at Purdue University. It was a while ago, but often it feels just like yesterday. College is a huge transition on so many levels, but it’s also a time of unimaginable learning and development. Who you are now is not who you will be in four years.
I’ve been reading a lot about how the number of women in computer science hasn’t been rising, even though we’ve spent countless hours and dollars on outreach programs for girls. There are many solutions being suggested, from single-sex classrooms and STEM badges for Girl Scouts, to making computer science classes friendlier to women and minorities. While I applaud most attempts at trying to sell this entertaining career to all types of folks, this article is NOT about any of that. Instead, I want to offer my own advice to girls who have decided to take on computer science this fall, right now, as things stand at this moment in time. For I too was in your shoes, the first time was decades ago, but I’m taking a second stab at it now as I retrain to return to tech after a hiatus raising my kids and chasing my dream to become a novelist. And while some things have changed, many things haven’t and what was true for me as an 18-year-old is still true for me now.
So, if you’re a freshman female heading out to college to study comp sci, I want to congratulate you on your fine career choice. Not only is a career in software engineering intellectually stimulating, it’s also quite adventurous. At every stage of development you’ll be working on solving problems and puzzles. Whether you’re defining the requirements, or out in the field diagnosing a bug, this is a career that will continue to inspire you for as long as you love doing it.
As you head to university, I’d like to pass on some advice, woman-to-woman, to help you get off to the best start possible.
If you like to solve problems and puzzles with machines, then you belong
I’ve read more than a few stories on Medium and other news outlets about women who said they left their STEM majors because when they walked into their first class, they noticed that there weren’t any other women in the room. Thus, for some reason, they felt that the major wasn’t for them. To this I say to you, “OH HELL NO!” As a female in computer science, you will be the minority in the room. You might even be a super minority, as I was. At first, I didn't realized there weren’t many other women in my CS classes. In the beginning, there were more of us. But by junior year, there were about five of us. I’m not kidding. Not only that, I was the only white, sorority girl. With my bleach blonde hair tied back in a huge bow (it was the early 90’s) and Greek letters on my chest, I stood out like a sore thumb.
But so what? It never occurred to me that I didn’t belong. Here’s the thing, I like solving problems with machines. So did everyone else who was left by junior year. With time, you will work together more in groups and make friends, even if they’re not the same gender or race as you. My favorite memories are hanging with my all-male crew, talking about our senior project while listening to Bob Dylan and wondering why anyone would use recursion for anything other than fractals. They’re guys, not the devil. They’re not out to get you just because you’re different.
We can’t stop living our desires merely because we might look or act differently than others who share the same passions. Otherwise, there’s no point in life, is there? Last spring, I enrolled in the Intro to Programming class at my local college. The first class was like déjà vu. Not because I was one of the few females, as matter of fact it was an incredibly diverse group with women and men about 50-50 as well as several African Americans and Latinos. This made my heart soar. What made me different this time was my age. I’m 46, and everyone else was no more than 20. They didn’t look like me. Should I have left the classroom, believing that tech is beyond me because I’m not 20? No, that would have been ridiculous.
I like solving problems with machines, so I belonged in that class. If you like solving problems with machines, you belong in Intro to Programming as well.
Coding is a lot of work, so get ready to develop some grit.
This is something I think most first years don’t quite understand. Your assignments will take time, lots of time. Not the initial ones, but by the fourth week expect to spend at least 10 hours a week on your programs. I knew this going into my class last semester, but as I listened to the students complain about the workload, I realized that many had not been prepared for this.
This is just the way things go in computer science. Like writing a novel, writing code is a process. You have to go through the stages, from reading the assignment, to figuring out the best solution, to writing your code, to testing it and turning it in. Yes, the "Rockstar" programmer next to you who’s been coding since he was 10 will be able to code faster than you, at first. But he still has to take the time to understand the requirements and design a solution, and bugs are the bane of every coder’s existence. Very few get it running under all test conditions on the first try. So budget a lot of time for your assignments. That way you won’t be so surprised.
The thing is, you need this experience now to make sure you really love this type of work. In the workplace, sometimes you will be coding for the entire day. Sometimes, when a release is ready, you’ll be coding and testing through the weekend. And if your code breaks in the field, you need to be ready to fix it. It’s not an easy job, and I don’t think sugar coating it to get more people to try it is a good idea.
But then again, if you love solving problems with machines, then the time will pass quickly. You won’t even realize you spent 8 hours coding. I loved those late nights in the Math-Science lab (these were the early days of the internet, and dial-up was an excruciatingly slow experience, so we had to work on Unix servers in the lab, not in the comfort of our own room or a trendy coffee shop). We’d get pizza sent in, even though it was against the rules, and code together until the wee hours of the morning. I still lose track of time, especially when stumped. I’m actually looking forward to my assignments this fall in Advanced Programming. To lose myself in my code is the same as losing myself when writing a novel.
And when your code runs and passes all tests—ah, there’s nothing like it.
The math requirements for this degree can be hard—but don’t give up!
Math was never my strong suit. Particularly math after Calculus II. For some reason, it literally went over my head. There were many times I wondered if I’d make it, and those were some of the lowest grades in my time at Purdue. I even entered behind in math, as I didn’t take calculus in high school and it ended up being a pre-requisite for my first CS class (high school counselors weren’t as on top of it back then). I wrote about the experience, and I’m so glad that I didn’t give up. Math is beautiful, for so many reasons. And while you may wonder if it’s necessary, it’s my belief, and the belief of many of the experienced engineers and engineering managers I’ve talked to, that one of the main values of a computer science degree is the advanced mathematics curriculum that goes with it. To think like a computer, you need to understand algorithms, and the three years of higher math will change you, literally at the neurological level. Even if you barely pass, you will be a better programmer for it. Trust me on this. Don’t let it stop you. Remind yourself that you love solving problems with machines, and that your multivariable calculus class is teaching you how to think like one. I can’t do any of that sort of math now, but I can still think like a machine. I was forever changed by my struggles in math, and it was a change for the better.
Hey hardware girls, you’re amazing!
I’ve been focused on computer science majors, but I want to give a quick shout out to all those girls about to embark on a degree in engineering. No matter what the bros in Silicon Valley think, without hardware engineers, we’re screwed. It’s very exciting that you’ve decided to learn both and while you too will experience many of the same struggles as your comp sci sisters, your degree is like CS+10. There will be challenges you can’t even imagine, but the payoff is high. Many of the most successful women in technology have an engineering degree. The charismatic Ginni Rometty of IBM has both her CS and EE degrees, and longtime Xerox CEO, Ursula Burns, has a degree in mechanical engineering. One of the first women I worked with out of college, Kelly Marquardt, was an electrical engineer and is now VP of R&D Strategic Customer Engagements at Cray. The world might be obsessed with software, but without a machine to run on, all those bits and bytes are just someone’s imagination.
Welcome to computer science…I truly hope you find it to be meaningful work and that you make your mark in the world of technology. From this corner of the blog-o-sphere, I am cheering you on.