When it came time for me to choose a university and degree, I was conflicted. I loved physics, especially the “Physics Olympics” that my grade 12 physics teacher had made a part of my high school experience (i.e., mouse trap cars, predicting ballistic curves, building popsicle stick bridges) but I also loved math and programming. I used to persuade my high school computer science teacher to let me come in after school and write computer games in Visual Basic 3, because I didn’t have a license for it at home and I loved building computer programs.
I had the marks to get into nearly any program I wanted to. Working with my guidance department, I determined that I should either look at Computer Science (CS) or Engineering. Shortly before applications were due, I had the opportunity to attend “shadow day” at the University of Waterloo. I knew that UW was a pretty good school for both CS and Engineering and I was excited to shadow a first-year engineering student to see what it was like.
I had a friend whose father fixed computers out of his basement, which made him the most knowledgeable “computer person” I knew. I told my friend that I was trying to decide which Engineering discipline to shadow; the decision was between Computer and Mechanical Engineering. He laughed at me and said that I would never make it as a Computer Engineer because he knew all the model numbers for the motherboards and video-cards his dad installed and I didn’t know any. I took his advice and signed up for Mechanical Engineering shadow day (which was an amazing experience) and I put Computer Engineering out of my head. I ended up making Mechanical Engineering (UW Co-op) my first choice, followed by Computer Science (a math degree at UW). I was accepted to Mechanical Engineering and off I went.
I had a blast in Mechanical Engineering, both on my co-op terms and in my classes. I did discover that typical mechanical engineers did not like to program and I got into some trouble on the few occasions when I solved problems using computer programs I wrote rather than the standard mechanical engineering way (i.e., hand calculations with assumptions and factors of safety that made the hard math go away). The trouble was that to validate the results of my programs, my supervisors needed to be able to read the code and likely reproduce it. None of them were interested in learning to code so that they could get more accurate results; it just wasn’t expected in the industries in which I did my co-op terms.
Eventually I graduated, a rare mechanical engineer that enjoyed programming. I entered graduate school and I studied computational fluid dynamics (also mechanical engineering) and then found a job writing software after I finished. I don’t do much mechanical engineering these days, but I do enjoy the options it allows me to pursue. I also feel like I have a wider base of knowledge than many of my friends who took CS, although their ability to talk computer science is generally superior to mine.
When my children consider what they would like to do after high school, here is what I will tell them:
- Be careful who to get advice from. Your friends are almost certainly not experts in the things you are interested in studying. Don’t let a friend talk you out of going after what you love to do.
- The degree you choose doesn’t have to lock you into a particular career.
- If you love several topics, just pick one, you can mix them as you go and it can be an asset down the road.
In any case, take some time to think about what you want to study and what you truly enjoy.