To explain how I ended up in computer science, you have to understand the story of how I quit.
Despite my interest in biology, I knew I didn’t have the discipline necessary for a lab work. I’d already done some work as a programmer and I knew I enjoyed the challenges presented by the job, so I figured a degree in computer science work out well.
I think it took me maybe a month to be sure that it most definitely was not working. The stories of woe I was hearing around me were all about how difficult the assignments were, how confusing the lessons were… but me? I was bored.
First year computer science was geared towards students who had little to no experience with computers, and I realised that I’d be wasting several years of my life waiting for my peers to catch up. On top of that, it was boom times and CS was being viewed a shorter path to a 6-figure salary than the more education-intensive med school or law school. The people who were there weren’t really in love with the discipline; many were just in love with the idea of being rich. I wasn’t interested in paying thousands of dollars per term to waste my time with peers I didn’t respect in a program that was boring me to tears.
I was disappointed, disillusioned, and wanted a challenge that was clearly going to be a long time coming in CS. So I dropped out.
I feel like for politeness’ sake I should apologize for my arrogance, and assert that really some of my peers and teachers were fine. That’s true; I had some exceptional profs and I know good folk who stuck out the boring first few years for the reward of the upper level courses. But for me, computer science was boring and stupid, and you know what? I don’t really buy into the modesty that says I should apologize for being too quick for the slow lane they were providing. Screw that. I was too experienced and too awesome for computer science.
Luckily, not all my profs were uninspiring, so I looked to the courses I loved the most and immediately enrolled in a degree in mathematics. My math profs took time to learn our names, our backgrounds, and took teaching us really seriously. They’d recommend advanced materials for those of us who were bored, and give lectures on history, art, and philosophy and how they all related to mathematics. And they weren’t adverse to some fun, either, hanging out with the students for coffee and pi day celebrations. My peers in math were the smart, curious folk I’d hoped to meet. And they weren’t afraid of computers either: many of us worked as programmers to pay our way through school, or did projects on the side. I worked hard and earned a Bachelor of Math, and I’m proud to call myself a mathematician.
But this was supposed to be the story of how I got into computer science… So obviously, there’s more to the tale.
The same desire to challenge myself and a touch of nearly-arrogant faith in my own abilities is what led me back to computer science.
It was my last year and I was taking a course that was turning out to be deadly boring, so a friend of mine said “Hey, I’m taking this grad course on swarm intelligence; you should join that instead.” There were a few problems with this idea: I wasn’t a graduate student, I didn’t have any of the prerequisites, and I didn’t have any experience doing artificial life and artificial intelligence stuff. But what the heck, I could just ask nicely to join then work hard to stay, right? Definitely sounded better than being bored.
The course was amazing. The professor had a relaxed “let’s show you a bunch of cool stuff and get you excited about it!” sort of style and I was absolutely taken with learning about how to take ideas from biology and apply them to computer science. As the child of biologists, I was fascinated and hooked. Since this was swarm intelligence, it was mostly about small things: modelling ants or fireflies… or modelling the human immune system. It was the latter that became my final project for the course, where I used ideas from the human immune system to build a better spam detector for email. I woke up every few hours to check on my tests, with the excitement mounting as I realized these were actually pretty decent results, and I was going to be turning in a great project.
In fact, it was a good enough project that the professor, Tony White, thought we could get it published. If I was interested, he said, he’d work with me to turn it from a term paper into a scientific paper and we’d submit it to this conference. If I got in, he was going to pay for my trip to Chicago. Sounded pretty sweet to me, and I didn’t have a job yet, so I said yes.
As we worked on the paper, Tony started asking whether I’d considered grad school. I had, and I’d even done the scholarship applications thanks to encouragement from my undergraduate honours supervisor, Irwin Pressman, who told me many a time that grad school was totally different from undergraduate, and he was sure I’d enjoy it. Challenges! New ideas! Cutting edge research! But I was kind of sick of school and I wanted out, so I said I was looking for a job. Meanwhile, I worked with him as a research assistant to finish up some code I’d been working on for my honours project. The job market wasn’t so hot, since it was the middle of the dot com bust.
The paper got accepted. I was going to Chicago! I was excited and terrified: people kept thinking I was under 18 when I tried to go drinking with my friends. How would real academics take me seriously? And how was I going to find time to continue this research now that I wanted to do so?
And that’s when Tony said the magic words “You know we can pay you to do grad school if you want to finish this, right?” Wait, what? I could have a job and get a Master’s degree while doing the experiments I wanted to try? Even if it was low pay, that sounded like a deal I couldn’t refuse, so I agreed to become his student.
It was a great ride. I finished my Master’s in just over a year (in part because I’d had a head start, and in part because Tony is an amazing editor and was great at making sure I kept on track). The presentation in Chicago went amazingly well and I found myself travelling as far as Australia to talk about the work. I sat around in pubs with researchers arguing about ideas and education and after all those years, I realized that computer science really could be the awesome thing that I’d hoped to find in university.
Nowadays, I’m finishing up my PhD doing computer security research on how to make the web more secure using ideas from graphic design. (No really: check it out!) What I’ve learned is that while there’s lots of parts of computer science are dull, there plenty that’s fascinating. Grad school research turned out to be the perfect job for me: I can look at the parts that are interesting in depth and try to push the boundaries of what we know. That’s about as far away from boring as you can get.
Terri is a web security researcher, open source developer, teacher, amateur photographer, naturalist, geek, gamer, clarinetist, and woman in technology. She blogs/tweets under the name terriko, and maintains a web security blog at WebInsecurity.net. When not busy working on her PhD in computer security, she likes to make and bake things.