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.