My sister made me an engineer

People, especially those of college age looking to go into engineering, frequently ask me about my path in life. They want to know what made me decide to pursue computer science, what led me to graduate school, and (of course) how I found my current dream job at Google. I can't begin to do these questions justice in one blog entry, but after spending a day and a half with bright, enthusiastic, inspiring young women at the Pacific Northwest Celebration of Women in Computing during which I answered a lot of questions along this line of thought, I'm giving at least part of it a shot.

If you happened to be one of the people who reviewed my graduate application at any of the 10 schools to which I applied, this story might not be new to you.

The computer

I was extraordinarily privileged to grow up with a computer in my home. My father worked for IBM, and that meant that we were able to get a cast off computer once in a while. The earliest computer that I remember in our house looked very much like this one:

Or so my memory tells me; it very well could be lying.

It ran MSDOS, the only operating system I knew for a good while, until Windows 3.1. I shouldn't need to say this, but considering that people are surprised by my age, I will: there was no internet. However, I didn't have to use punch cards.

This may be where you expect to hear that I was fascinated by this device, found a manual, and discovered how to write, compile, and run small programs. I could spin you a story about how after this discovery, I wrote software to run and visualize Monte Carlo simulations, but that'd be absolutely absurd. So, in that lie's stead, I hope you'll take the truth.

I was 92 when I was 7

This computer ran programs such as Screensaver (yes, this was a standalone program that you had to fire up), Freddy's Rescue Roundup, and Where in the World is Carmen Sandiego?. I had so much fun with all of these games -- even if Carmen Sandiego was traipsing about a globe with geography long out of date. However, there was a game that tapped into the first competitive feelings that I ever experienced: Wheel of Fortune!

Wheel was a bright, colorful game that had animations, a pixelated Vanna White, and a high scores list. This list persisted across games (it had a memory!). I couldn't always directly compete against my sister, who is two and a half years my elder, but we could outrank each other in the list. The #1 spot was highly coveted.


While I was a precocious child, so was my sister, and she had two years of a head start on me. She used this advantage to develop her vocabulary and idiomatic repertoire, clearly, just for the purpose of beating me at this game. I needed help to pull ahead, and I got it.

A quick aside into the structure of the game

A game was made up of three puzzles, and a potential bonus puzzle (it still boggles my mind that I remember this so clearly). If you had the highest score after the the third round, you proceeded to the bonus round with potential to earn a really high score.

Obviously, this bonus round was my ticket to the high scores list. I just had to get there, and have had accumulated enough cash beforehand to make it worth my while.

A fortuitous crash

As computers are wont to do, this one crashed. All the time. At the slightest provocation.

One day, it crashed while I was playing Wheel of Fortune, and it gave me a bit of insight.

I was in the third round, I was all set to win the puzzle, when the computer crashed. DAMN -- or, as seven-year-old me would say, AWWWW. I restarted the computer, eager to try again. Once the game loaded, something interesting happened: it presented me with the same set of puzzles.

Curious.

I considered myself lucky, played the game, and won quickly. The only unknown here was the wheel spin and the bonus round. I made the list.

Debugging by a 7 year old

That lucky strike bugged me. Why would the computer give me the same set of puzzles? Surely, it knew that it had already used those, would mark them, and put them back into collection to be shuffled and reused in a different combination later. It seemed illogical to me, and the computer was supposed to be logical.

In my technological sophistication, I conducted a set of experiments. Surreptitiously, I started up the game, and hard rebooted it at different intervals during gameplay. I had to do this in secret, because at that point in time, hard rebooting computer was a serious offense. What I found was interesting:

The only time I got a new set of puzzles was after all three puzzles had completed! I could reboot the computer to my heart's content up until the last letter of the third puzzle, and maximize my overall score. Awesome.

What this taught me about computers

While my dad worked for IBM, he wasn't an engineer and didn't know the internals of programs, so I had to deduce some of the details out for myself. Seven-year-old me learned some interesting things:

  • Computers could remember things
  • Computers could also forget things
  • Rebooting the computer made it forget everything it hadn't already decided to remember
  • Computers had rules that it had to follow, determined by programs
  • Sometimes, the computer was dumb
  • The computer was especially dumb if the rules it had been told to follow were dumb

The most interesting thing I learned was:

I could outsmart the computer.

Thanks Suzannah!

It would take a long time before I officially set down the path of an engineer, but this is when I started to fall in love with technology. If it weren't for my sister and her damned impressive vocabulary, I wouldn't have had to figure out a way to cheat her out of her high score. And I wouldn't have developed an insatiable curiosity about how software works, or for making computers do what I wanted.

So, thank you, Suzannah!1

[1] Also, I think you still had the high score. Stupid bonus puzzles.

Popular posts from this blog

Engineering: a first run experience

Saving the world: using persistent storage with a containerized Minecraft server

Julia on Google Compute Engine: working with files