This is a busy time of year (I joked to Cate a few weeks ago that the United States, at least, shuts down between Thanksgiving and New Year’s), so we don’t have any posts for you right now.
However! I’d like to still encourage y’all to write (and think about ideas for posts as you go on holiday, etc.) and submit!
For now, here are some interesting links I found this last week related to compsci women:
Vivek Wadwha is interviewed (mp3) about women tech entrepreneurs (and why there aren’t more) “America and Canada need to innovate–right now, we are excluding half of our population…let’s recognize that there’s a problem: there’s a dearth of women in technology.”
Valerie Aurora writes about the dark side of open source conferences: “Some people argue that if women really want to be involved in open source (or computing, or corporate management, etc.), they will put up with being stalked, leered at, and physically assaulted at conferences.”
And, if you happen to be a female undergraduate attending a North American institution, perhaps you’re interested in this!
When I was 5 or 6, the school thought I had learning difficulties because I couldn’t read. It transpired that it wasn’t so much couldn’t – as wouldn’t. I refused to read the nonsense little books about Little Jonny Red Hat. Clearly my aversion to things that I find pointless started at a young age. Once I discovered there was a world of interesting books, I was hooked.
So hooked that my mom worried I had social difficulties because I read so much.
I loved reading, but never wanted to be a writer. My friend in primary school though, she was going to be the writer. I was going to do something math-based instead. The degree of pigeon-holing is quite amusing now, I remember her winning a writing prize two consecutive years… for the same story.
High school, 11 or 12, I read much faster than my peers. We were to study Jane Eyre, and had to read it mostly in class. I loved this book, and devoured it 3 times whilst the rest of the class slowly ingested it. It was my new favourite.
Then we came to analyse it. It felt like we deconstructed every sentence, every motivation. All this hidden meaning was extracted from it. I thought then – and still do – that Charlotte Bronte was probably just trying to write a good story.
The book was destroyed for me, and I never read it again. About a year ago (so over 10 years later) I watched the BBC TV adaptation. It is, a great story.
I still read a lot, but mostly online and non-fiction. Business books, programming books, professional development books. I don’t take them to bits and analyse them. I read a lot of academic papers. My goal is always the same – what can I learn, how can I apply it?
I read code. Sometimes to understand it, sometimes to mark it, or improve it. How can this be written better, or more clearly? One of my favourite things to do as an instructor is to highlight some X lines of code and say, “you can do this in 4 lines instead”. I don’t discuss their motivation in naming their variables (names should be meaningful, that is all), or what the ordering of their methods within the class means in terms of their psyche.
It’s all about building. How do we build this, period? What is the best way to build it? What are our options, and the trade-off’s associated with them?
I used to think that I wanted to be an accountant, probably because that was the math-based career I knew about. But I can’t imagine being as happy with a profession where I didn’t get to build things. Where I solved problems I had fabricated rather than genuine ones.
I hated English because I had to deconstruct something I loved into a bunch of pieces that no longer made sense to me. I would hate to do that all day. I can’t find these deeper motivations. Trying to write a good story, find a beautiful turn of phrase, that’s all the motivation I see. People deconstruct politics, and sometimes I wonder if some decisions are made because someone didn’t have their coffee yet and was too proud to back down. Years later it’s analysed as part of a deeper geopolitical picture, and they become a hero – or a villan. Working in environment, or charities, it seems like the problems are just too big to make a dent it.
So let me build you something. I can solve that problem, and make your day a little brighter. Just – don’t deconstruct my motivation. I just want to build things – that are useful, or beautiful, but sometimes, that holy grail… both.
Cate Huston is an alumna of IBM’s Extreme Blue program and will finish her Masters in Computer Science at the University of Ottawa researching influence and media contagion on Twitter by the end of 2010. She has a BSc (hons) in Computer Science from the University of Edinburgh. Cate has trained in martial arts in China and is a CSIA Level 2 certified ski instructor. She has taught programming in the UK, US, China and Canada and has developed programming curricula that was taught across the US. You can find her latest CC-licensed curriculum, developed for uOttawa here. Cate is the former president of Women in Science and Engineering at uOttawa and is currently Instigator of Awesome at Awesome Ottawa and an Editor of CompSci Woman. She blogs about technology, programming, effectiveness and life at Accidentally in Code and twitters as @catehstn.
Being from a math background, when I think about what interests me the most about computer science, I don’t come up with a specific course or a really cool piece of software or anything else related directly to the field. What keeps me interested, excited and coming back for more isn’t something tangible or even something you can create. This wonderful thing is a sense of accomplishment.
I spent a lot of time thinking about this post – and what I could say that would line up with the given themes and questions, and truth is I spent a lot of time frustrated and trying to think back and come up with a good story about a cool project or an interesting discovery. The thing is, that never happened. And then one day I decided to think about math instead, and what I liked most about my experience in the field so far. That’s when I remembered the crazy 6 hour study sessions on a Sunday at school, working with some of my friends to try and get through all of the assigned practice problems we should try before our exams. And then I remembered my life around this time last year, when I was in school and not on a work term. Those days were spent constantly thinking about assignment questions, hoping to come up with an idea that just might work. And then consulting with the rest of my “mathies” to see what they had come up with and if we were any closer to finishing our assignment from hell. We would then finish one assignment and realize the next one had been handed out two days before.
But, as depressing and frustrating as those days could be, there was a lot to get us through them. The first thing was that you were never alone – there was always at least three of us sitting together, working on an assignment and sharing our pain. And shared pain even seems to do a great job of bonding people together and great friends. The next thing was probably what I consider the most important to keeping me going – the incredibly AWESOME feeling of finishing an assignment, or even just a difficult question and knowing that it was hard, but you did it! You solved it! Pretty much nothing in the world compares to that ecstatic feeling, at least for me.
I realized the other day that these are also exactly the things I love most about computer science. When programming something, the answer or best algorithm is not always obvious. But, thinking of the smartest one, coding it and watching it improve something definitely creates the same feeling of awesomeness and provides a sense of accomplishment as proving a difficult theorem does in math. And the similarities don’t end there. While I was in Extreme Blue this summer, for a large portion of the term I was convinced we wouldn’t get anything real done by the end. I was afraid all we’d have would be some ideas we failed at implementing, but in an attempt to be the bright and cheerful team member I was most of the time, I kept my fears to myself and focussed on helping myself and everyone else be productive. And I found that similar to my math assignment days, I could definitely bond with my teammates over the pain of the software we were using which didn’t do exactly what we needed it to, or the pain of having our pitch get shot down for the billionth time. However, that pain was quickly forgotten after we presented our final pitch to executives and had some incredibly smart people curious and asking questions about our project – that worked!
In the end, working with other people allows me to come up with way better ideas than I ever would have entirely on my own. This in turn leads to more opportunities for me to get that sense of accomplishment that keeps me motivated and excited about what I’m working on. And this cycle of challenge, collaboration, communication and ultimately creation is what I love most about computer science and what keeps me constantly searching for new ways to feel accomplishment.
Nikolina Beg is a fourth year student at Carleton University studying mathematics with a minor in computer science. She recently completed a work term at IBM as part of an Extreme Blue team. She is currently working at Environment Canada in the Ice Services Division and is interested in learning more about how mathematical modelling techniques can be applied to the sciences. In her spare time, Nikolina likes to play soccer, Croatian folk dance and generally do anything outdoors. She is the former Vice President of Finance of the Carleton University Math Society and the current secretary of the NCR Folklore Ensemble “Croatoan” administrative council. In the future, Nikolina hopes to pursue a master’s degree in applied mathematics. She can be reached at firstname.lastname@example.org
How did I get into computer science? I don’t know. I grew up immersed in computers.
A preschooler: At the panel interview for my admission to grade school (this additional scrutiny required because my parents want me admitted a year early), the principal is relieved to hear I can’t write my name. She is about to reject the application–when I ask for a computer mouse so that I can write it. The bemused principal asks, “A mouse?”
I’m in grade one, in my first computer class. The computers are PC XTs, older than the computer we have at home. The program is LOGO. I light up. It’s an old friend. I finish my exercise quickly and fidget. Before long, I’m helping my classmates with the blessing of my teacher. Then I’m helping the teachers with Wordstar.
At home. My sister is learning Turbo Pascal in high school. I idolize my eldest sister, seven years older than I am. I want to wear the same kinds of clothes, read the same books, do the same kinds of things. She is in high school, and is probably annoyed by this at home and embarrassed by this in front of friends. My first taste of rebellious learning: when people are busy or distracted, I sneak into the computer area and dive into the Turbo Pascal manuals. I don’t understand them yet, but given enough reading – and whatever experimentation I can fit into my ration of computer time – I will.
And I do. I watch Doogie Howser type his episodic summary into a simple text editor. I figure out how to create a similar tool myself, and discover the interesting secrets of the ASCII character set along the way.
Grade school English classes. I teach myself how to speed-read through the SRA reading labs, focusing on which parts are likely to turn up in the review sections. I finish well ahead of schedule. The teacher sends me to the computer lab to play educational games and tinker.
My eldest sister relents and teaches me about bulletin board systems. I’m nine, one of the youngest. I hide it with clear writing and good punctuation, although my poetry is still trite. I write. A lot.
By the time I hit high school, I’m firmly established as a computer geek. In a school full of nerds and geeks, I can code circles around most people in my batch. While my classmates get the hang of MSDOS Edit and Microsoft Word, my high school teacher Hagee Sarmago gives me root access on a Linux machine and a few tips on how to find documentation. He asks me to set up a Linux-based BBS. It’s my first time to work with that operating system. I love it.
My teacher also invites me to try out for the programming competitions team. I scribble some algorithms in Turbo Pascal-like pseudocode and others in flowcharts. I make it into the list of trainees.
Then it’s a crash course in QBasic and competitive problem solving. The rest of high school computing class is a blur – Turbo Pascal (officially now), SQL, Visual Basic – nothing as challenging or as fascinating as the competitions. My parents take us backpacking through Europe over my protests; I’d rather be in training all summer, even if I’m not on the main team. By my second year of contests, I consistently place among the top spots.
This is also where I discover that it’s interesting to be a geek girl. I have crushes on, am crushed-on by, and go through the requisite high school drama mostly within the closeknit tech group. Sometimes I take advantage of this, turning up at programming contests in a dress in case people will underestimate me. Sometimes I struggle to navigate friendships complicated by expectations.
There’s no question about what course I want to take in university, only where I want to take it. I want to go to the University of the Philippines, where many of my friends have gone. My parents make me apply to another school, just in case – Ateneo de Manila University. I go to Ateneo’s computer science open house and see the professors laughing, having fun with the orientation. Everyone is nice. I go there.
I discover a few of my former team members in the same course, a few years ahead. We start joining programming competitions again, training during summers. We do well. In my spare time, we build web systems and other tech projects for the school. I get a kick out of seeing teachers use our system. Much better than projects that get deleted at the end of the term. I support it through several incarnations.
Some of my friends talk the residence manager into bumping me up the waitlist because of my technical skills. I get a spot in the girls’ dorm. I have my own key to the server room, which is in the boys’ dorm. It’s airconditioned, a paradise in August heat.
I help administer the network: everything from installing LAN cards and crimping cables, to labelling wires with the help of a tester, to creating firewall rules and managing our small web server. There are a number of other geeks who do amazing things. I learn by osmosis.
I’m in third year university, looking at my curriculum. I hear operating systems class will be high-level; learn from the textbook, understand, and answer the tests. I look with envy at the syllabus from Georgia Tech, where students learn about operating systems by hacking Linux on the Compaq iPaq PDA. I decide that if ordinary undergraduates at a good school can do that, surely I should be able to figure something out. I ask my parents for an iPaq for my 18th birthday, instead of a fancy party. I get the iPaq and flash Linux onto it carefully. It works.
I want to try out the ideas from class. I skim a book about the Linux kernel, but it’s too big for me to grasp. I start with the iPaq bootloader. I read the C source code and spot two small errors: = instead of ==. I write the developers and confirm that those were really errors. Emboldened, I read some more, and write code for some their low-priority task items. They teach me how to send a diff. It’s finals week and I’m procrastinating studying, so I hack some more features in. Several days of this, and Jamey Hicks from the Compaq Research Labs calls me up to ask me who I am and if I want commit access to their repository. I add tab completion and help to their shell, and FAT support for long filenames.
I try different editors until Unix Power Tools convinces me to stick with Emacs for a while. I do. I learn to tweak it. I try things out. I fall in love with the Emacs Planner mode for managing your day, and I send John Wiegley a note volunteering to help track down bugs.
He promptly makes me the maintainer.
I’m down to four classes a semester during my final year, because I got extra credits from advanced placement and took summer classes too. I have plenty of time to code, and I do. I start using Emacs Planner to keep my notes. Following people’s requests and my ideas, I build publishing tools, cross-referencing tools, tracking tools. I build a community through a mailing list, start hanging out on IRC.
A bug of mine wipes out someone’s data. He writes me an unhappy but polite note. I’m mortified, but we keep working on it, and eventually we solve the problem. The solution helps another, inspires yet another, and we add more and more.
And there I am, an 18-year-old girl in a developing country, and I’m making a difference in hundreds of people’s lives through code.
Open source transformed computer science for me. It wasn’t about figuring out the right algorithm for a problem – although that was fun for years. It wasn’t about building projects that would get briefly reviewed by a teacher and then forgotten. It was about making things that helped people work or live better. It was a profoundly social experience, a conversation with countless others through the medium of code.
Part of the reason why I have this deep love of Emacs (irrational for a computer program?) is this experience of layer upon layer of accreted functionality from programmers solving problems and scratching itches, a treasurehunt of gems, an incredible community across time and space. And always that question: how can I do things a little bit better?
You might know this story. You may even have helped me through it, and know more clearly the parts that are fuzzy or forgotten. There’s luck in it, but I owe a lot more to conscious decisions by others: my family, my teachers, my friends, and so many other people. Thanks.
There are two things I love the most about computer science: the ability to connect it with whatever your passion is, and the type of problem solving involved.
During my undergrad, it was the problem solving that got me excited. I loved working on coding assignments, building something from nothing. Picturing the individual steps I would take along with the big picture. Thinking about the best way to arrange the classes and functions for readability and efficiency. Seeing the final result in action! (I also enjoyed working on algorithms and math problems. Oh, how satisfying it is to reach the correct answer!)
I remember one of my first year midterms really clearly. I think it was scheduled on a weekend. I happened to meet our professor as we were walking to the classroom from the parking garage, so I helped carry the papers. The midterm was in an unnecessarily large lecture hall, but it was well lit, unlike some of the dim and depressing rooms elsewhere on campus.
The midterm was for the second course in Java where we learned about making GUI’s and model-view-controllers, a bit about networking, and recursion. I kid you not, I remember actually having fun finishing that test. Each question was about understanding the material and provided a little problem to solve – it wasn’t one of those “how much can you memorize?” tests. When the prof asked me how I liked it, I told him it was like solving a puzzle, and thus I had enjoyed it.
I still enjoy this kind of problem solving, but thanks to the flexibility of grad school, I am now able to connect computer science to something it turns out I care about a lot: education and learning. Though it took me a whole uninspired Masters to realize this was what I wanted to do, I now have a PhD topic of educational games and augmented reality. Knowing that you can make a difference in any area of life with computing is not what got me into computer science, but it’s what is keeping me excited about it today.
Gail is a PhD student in computer science at Carleton University, Ottawa, Canada, and researches augmented reality and educational games. She is an executive member of Carleton’s Women in Science and Engineering and is passionate about computer science education. She has a second degree black belt in Taekwondo and is an avid photographer. You can find out more about her on her portfolio websiteand blog.
What I love most about being a CompSci/Software Engineer/?
What piece of technology makes me go “wow”
Why my job is awesome
How is what I do changing the world (for the better!)
Why I can’t imagine doing anything else
The theme is deliberately open. What are you inspired to write? You can still submit posts on our previous theme (How I got into CompSci), but we hope you’ll want to write something for this one too. Posts on other topics are welcome.
I was born and raised in Silicon Valley, daughter and granddaughter of engineers. I was surrounded by technology from an early age: my dad taught me to solder when I was still little, and I had a computer–an Apple ][--in my room by the time I was 10. Naturally, with this kind of background, everyone assumed I’d grow up to be... a writer of some sort, actually.
You see, I was all right at math and science (better than I gave myself credit for, anyway), but I was terrific at English. I devoured books--my mother limited my sister and me to one weekly trip to the library--and wrote so well that I regularly won writing prizes in elementary and middle school. Everyone thought I’d be a professional writer: parents, teachers, me.
The inevitability of my writing career lasted until the summer between my sophomore and junior years in high school. Like most of the kids in the honors track, I had an interest in taking as many AP classes as possible: it boosted your GPA, and passing the test itself meant getting college credit. Exactly why I decided on AP Computer Science, I don’t really remember. I think it was the only AP class offered in third period. At any rate, AP Computer Science it was. I was feeling unprepared for it, so I signed up for a summer session on introductory programming.
And took to it like a duck to water.
No one was more surprised than me.
I was surprised to find myself thinking “Yes, this. I can do this. I’m good at this. I want to do this.” It was something I’d never felt about writing. I knew I was good at it, but I was always embarrassed by my own writing and had trouble imagining showing it to other people, let alone for a living.
College time came around. My test scores were globally good, but I consistently scored higher on the verbal portions. It’s true that most incoming CS students have score better in math, but it turns out that, contrary to what everyone seems to think, it’s not actually a requirement. And I didn’t abandon English--in fact, I minored in it. Even did better in the minor than I did in my major: I managed something like a 3.9 in the minor (with several A+ grades, a grade I never achieved in any of my CS classes), compared to a 3.5 in computer science. I write this not to brag or anything, but to show how out-of-place I sometimes felt in computer science. I liked computer science more than English, but English came much more easily to me, and there was always the nagging thought that I didn’t belong in CS.
It was only when I finished my master’s and got a job that I realized just how valuable being odd had made me: I was one of the only geeks who could write.
If you want to pursue computer science, it doesn’t matter if your parents, teachers, or test scores say you’d be better at English, or art, or whatever. All that matters is that your scores are good enough for what you want to do.
Teenagers are terrified of being unusual, but it’s being unusual that adults find useful in carving out a career niche for themselves. Cultivate your oddities right and they might well become your secret weapon as an adult.
Nicole has a pair of degrees in computer science, both from UC Davis,
and now works in Los Angeles, at a company that has a serious bug up
its ass about employees using its name without permission. She enjoys
writing, cooking, cross-stitching, spoiling her niece and nephew, and
dressing up as the Doctor at science fiction conventions. Catch her
As I was a child, I was told that I had a great talent to learn foreign languages easily. I learned English at a very early age. I was the best in the class so I guess my parents and teachers were right.
Back then most of the girls wanted to become doctors. But not me, I decided that I want to be an English teacher! I soon gave up this idea because I realized that I don’t have enough patience to teach others. Plus the kids in my class were pure devils and I couldn’t imagine myself putting up with it for more than a second. My former teachers have my full respect!
That was also the time when my mom bought our first computer, a used 286 I still remember. It was purchased for business purposes but we used it more often than her for playing. Pacman was my favorite.
After that we always had a computer in the house. It was unimaginable to live without it, even though in that Ceaușescu period we couldn’t find any software or games on the market. Luckily there was always someone with an aunt or an uncle living abroad, who sent them regularly presents, including new games for their home computer. So we could exchange games with our friends.
When I finished the 8th grade and had to apply for high school, my mom suggested that I should give Computer Science a try. It would be the best future for me, she said.
For a child to make such an important decision at such an early age is challenging. Most children don’t know the impact this step will have on their lives. My mom always tried to guide me in the right direction as best as she could but in the same time to give me a certain level of freedom to do what I like most.
Back then I had no idea what programming is, but I liked to play with computers so I took her advice. I was afraid that the exams would be too hard so I chose Mathematics – Physics as well, just as a backup plan. I still remember clearly how the lady at the registration center called the students in the Computer Science class, “weirdoes”. That frightened me a bit. I didn’t know what to expect.
When the results came in, I was devastated. I didn’t manage to get in the Mathematics – Informatics class. I cried! I knew that this is what I wanted. My mom tried to comfort me by telling me to attend the Mathematics – Physics class and I could study Computer Science at the University later on. But that didn’t cheer me up so my mom asked the school to recount my score. This turned out to be a very good idea because my new score was just about enough to switch to the Computer Science class which I instantly did.
In those 4 years of high school, I really ended up hating Mathematics. My math teacher was too demanding and his only goal was to try to fail as many of us as possible. I know that most of the students say this about their teachers but this time it’s really true. Honestly!
I didn’t have such a good experience in the Computer Science area either. The teachers didn’t dedicate themselves enough into teaching us in the class to make our parents hire them for private lessons. My parents couldn’t afford that so I was happy if I could somehow do my homework at all.
I admit that at that time the boys were the genuine geeks in my class. We, the (ONLY) five girls, felt and were treated like the outsiders. Everyone was wondering what we were actually doing there. Why did we pick Computer Science? It was seen as a guy thing.
Nevertheless I knew that this is what I want to do in the future so with my mom’s full support and encouragement I applied later for Mathematics – Informatics at the university. My grades were enough to attend the 3-year college without paying any fees but I only managed to get a paid spot at the 4-year university. Luckily my mom accepted to pay the fees somehow so there I was, learning Computer Science at the university.
My professors were fantastic and I started liking it all, even math. I was good at it too so after the first year the university offered me a free slot and scholarship. In the 3rd year I started working and I had to somehow manage both in the same time. But I succeeded in keeping my free place and the scholarship up to the end of the university.
In the first two months I didn’t work in the Computer Science area. But one day I accidently met the company’s IT manager who immediately moved me to his department, when he found out that I’m studying in this field. I was very lucky because I could have a flexible schedule and paid holidays when I had the exams.
I spent two years at that company and I am still grateful for having that job while still being a student. It helped me be financially independent, buy my first car and rent my first apartment but unfortunately I didn’t learn much at the end. After several months of training followed by the design phase of a big project which was later postponed, I was given the task to maintain the existing applications in Visual FoxPro and Excel. Everyone there was happy to do only that… except for me of course.
Finally listening to my intuition, I began looking around for another job in web programming and the best decision I ever made was joining an Italian company which just opened a subsidiary in my home town. I had so much fun learning advanced Java, MVC and JSP.
Unfortunately after a couple of years we started slowly to receive less work (luckily for the same pay) and so I started freelancing in my free time. It taught me how to manage projects, to work independently but most importantly how to deal with real clients and their sometimes absurd demands in a friendly manner.
Finally the managers in Italy realized that they don’t have time to lead an offshore team and decided to close the company. They offered us one month paid holiday so that we can search for a new job. Finding a job wasn’t difficult and I eventually spent that month learning the Microsoft .Net Framework and ASP.NET for my new position.
So here I am now: one of those unjustly-called “weirdoes” I’ve heard about 15 years ago and I’m very happy with the road I took, the decisions I made on the way and how my life turned out to be.
Monika Kiss is currently working as a software engineer, scrum master and occasional project lead at a Siemens affiliated company headquartered in Nuremberg, Germany. She has worked as a software developer for almost ten years in a variety of industries but concentrating mostly on web site development.
Originally from Romania, Monika received a bachelor’s degree in Mathematics – Computer Science from the Petru Maior University in Targu-Mures. She also holds the professional qualification of Microsoft Certified Professional (MCP).
In her free time, Monika enjoys running and long-distance bicycle touring. During the winter when she’s not too busy coding, she works out assiduously in the gym. She has also tried 3 years consecutively to learn skiing with no success so she decided to stick strictly to ice-skating. She’s still trying to perfect her cooking and baking skills too.
She likes to spend quiet evenings at home reading romance novels or watching a good thriller but traveling and photography counts also among her hobbies. She can’t imagine the summer without a trip to the ocean or the winter without seeing the mountains. She shares her pictures on SkyDrive and Flickr.
Growing up, I’d say that I was pretty lucky. My parents raised me that I could do whatever I set my mind to, regardless of my gender. Sometimes I wonder how life would be different if my parents had had a son and a daughter instead of daughters, but that’s a moot point now. I never once heard someone say “computers aren’t for girls”.
My dad and one of his computer-savvy friends claim that when I was five or six, I would watch them try to debug computer issues and somehow know what to do, but they would spend hours cursing at it and didn’t really appreciate having a six-year-old girl telling two grown men what to do! So I guess you could say that I’ve loved computers from an early age.
One of my uncles was in graphic design. At some family event when I was six, I was bored, so he gave me a copy of his HTML editor on a floppy disk and showed me how to make HTML pages. After that, I was hooked on my GeoCities page. Back then, we had dial-up internet, which meant that I could only work on my webpage outside of normal phone-call-receiving hours, namely before 7 am. Yes, at six years old, I would naturally wake up at 5-6 am so I could spend an hour or two on the internet.
By the time I was about thirteen or fourteen, plain old HTML pages were getting boring. I was fairly well-versed in CSS at that point and the next step was PHP includes, which would, of course, make changing my webpage’s layout much, much easier! (You might cringe at my mention of PHP, but you know what? It was instrumental in my development as a budding computer scientist. So shush.) The summer between grades nine and ten, I taught myself PHP (and basic programming skills) by writing a web app.
In grade ten, I took the first year of the IB Computer Science course, where we learned to program in C++. The class was after school a few days a week, from 3-4:30. That’s right, at seven, I was getting up early to work on my webpage and at fifteen, I was staying at school late to learn how to program. I think I was the only girl in the class, but I don’t remember, because somehow at that point, it didn’t matter. In the computer lab, we were all just people who were interested in computers (or at least, that’s what I thought.) Most of my classmates enjoyed nerdy things like playing computer games and role-playing card games, but many of them had never programmed before. I, on the other hand, knew what variables, if statements, for loops, while loops, and functions were! This put me in the role of the guys looking like idiots because a girl knew how to program better than they did. Between the class being after school and it being way more difficult than they had thought, we went from 30 students to 2 by the beginning of the second year. (That means that I can claim that my high school computer programming class had a 50% male-to-female ratio!)
I liked computers. I liked programming. I liked solving problems. Somehow, I still didn’t dream it possible that I could have a career doing those things. That might have something to do with the fact that I liked other things too, such as Calculus and French. I took all the necessary courses to get into any good engineering school in grade twelve. One of my guidance counselors felt that the Faculty of Arts would be a good fit for me since it offered a varied selection of programs. I liked that you didn’t have to choose your major until later! My physics teacher thought I would be a good engineer. My math teacher thought I would be a good mathematician. At fourteen, I had decided that I was going to the University of Waterloo. Since I liked computers, my first choice for an engineering program was Computer Engineering.
Computer Engineering was a bad fit for me. It turned out that I wasn’t actually all that interested in physics, circuits, etc. Thankfully, I figured this out partway through the first semester, while consulting the course list for the second and subsequent semesters. I switched to Computer Science fairly smoothly, minus the social re-adjustments that go along with switching faculties.
Early in second year, I also declared a major in French. Pretty much every school term after that, I considered switching my primary major from Computer Science to French. The CS courses just didn’t enthuse me as much as they used to anymore, while I was passionate about my French courses. What kept me going was my co-op jobs, as I loved working as a software developer, particularly during my last two co-op terms (the middle two were not very motivating). I’m glad I stuck it out, but I really wish that I could somehow help younger women in Computer Science who struggle with similar issues because I’m sure there are many who choose the other route.
I didn’t love every aspect of my Computer Science courses, nor do I love absolutely every aspect of my job, but who does? There are just some days that life sucks. But I enjoy what I do most of the time and on the bad days, I can remind myself of the good ones. And until the bad days outweigh the good, I’m on the correct career path.
Tara Clark is a Software Development Engineer at Amazon.com in Seattle, Washington, working in the Kindle group. She holds a Bachelor’s degree in Computer Science and French from the University of Waterloo in Waterloo, Ontario, Canada. She is passionate about linguistics, bilingualism, and women in computer science. She is an avid curler. She blogs about technology, linguistics, careers, and travel.