My first term in Computer Engineering was hectic. Within a few weeks we were already applying to co-op positions for January, passing ourselves off as Waterloo Engineering Students even though we were still getting lost on campus. OK, maybe that was just me. The MC building is really confusing!
Every so often I receive an email or Facebook message from a Waterloo student with some great questions about finding their first job. I’ve culled through my responses and put together this collection of things I wish I had known about when I was first applying for jobs.
Other people you talk to may completely disagree with what I have to say, and that’s OK. The advice is based on the experiences of my friends and I. You should try to ask as many upper year students as possible!
I think it’s helpful to understand how the job application process works at Waterloo for engineers. There are some details on the Co-op website but I’ll give an overview here.
JobMine is where you will apply for jobs. There will be a list of jobs that you filter down. Some 800 odd listings that will match the broad filters of Computer, Electrical, and Software Engineer.
When you apply an employer will see a package that contains your co-op history (at this point empty), your transcript (embarrassingly short) and then your resume. You can upload tailored resumes or resumes with cover letters for a given position.
After a while, you’ll start to see that you’ve been rejected for jobs (don’t freak out!). Hopefully you’ll eventually get the word that you’ve been selected for an interview! See more about the interview process here.
Once the interview round is complete you’ll go through the ranking process described here.
Building your resume is one of the biggest factors that can get you an interview for your first job. Later on it can be your marks and list of previous co-op experiences the school prepends to your resume. Spend a ton of time on your resume and have your classmates look at it.
I think you should be able to get it to one page. Employers get bored. Especially when they are hiring for junior jobs. Your skills summary can be a great way to show off your key qualifications. If you’ve been awarded a rare scholarship, this is a great place to highlight it. But keep the skills section short and easy to read.
Some employers search your resume for keywords (Java, AutoCAD, VHDL, etc.). Some do it visually and others with a tool. If you list a skill on your resume it is good to have a corresponding job or project to backup the claim.
Keep in mind that in the real world, resumes are a little different. You should look for other CompEng resumes for ideas of how to write yours. Remember, on JobMine everyone is from Waterloo. You don’t need to put your education first. They will prepend your transcript to your resume anyway.
I also leave out my address. If someone needs to mail me something they’ll ask. Usually it’s once you have the job anyway so it will not matter (some people don’t like that though).
Kai Umezawa, in Systems Engineering told me that you should make your resume stand out. Everyone’s will look the same, so try to make yours eye catching. Don’t try anything too fancy or odd though, that might freak some people out. Look at other resumes for inspiration.
Go to EngSoc’s resume critiques. I went to one every term for the first two years. They are incredibly helpful. I’ve volunteered for them as well and I’m also happy to look at your resume and give some feedback. You want a bunch of people to look over your resume.
Upper year students know what employers want; the university does not. Some of these upper year students have even hired the next co-op student.
While I’m editing my resume I print it out and carry it with me. When I have free time I look at it, making notes and changes. I show copies to friends and ask what looks off to them. Many employers screen candidates by printing out the resumes, so make sure it looks good on paper in black and white!
While a lot of people do not have “traditional” experience, if you think hard about the stuff you’ve done, you probably have some experience with relevant skills. Maybe you had a lot of responsibilities when you were a volunteer, played team sports or managed a bunch of people.
Many people make the mistake of not applying for jobs because they don’t have the requirements. This is really bad. Employers are not expecting you to have everything. This list of requirements is their dream candidate.
Often the person writing the requirements is not even the same person who makes the hiring decision. My first job (a PHP job) has Ruby listed as a skill. I asked at work when I got there and they laughed and said no one has ever used Ruby for work there.
It was definitely my personal projects that got me hired the first time. Think about it, every applicant is going to be practically the same; top marks in high school, won a scholarship of some kind, and are good with computers. You need to stress your personal projects. I put them before my education on my resume.
If you don’t have much work experience in the field, personal projects are perfect. Employers love to see you like working on this stuff in your free time. It shows you enjoy the work and can work on your own. Even when I was interviewing for fulltime jobs, interviewers still asked a lot about my personal projects.
You’d think everyone would use email but you need to make sure your phone number works and that it has voicemail. So many prospective employers have left messages on my voicemail. I have received job offers on my voicemail. You need voicemail.
Use a @gmail address. Hotmail looks bad. Some opt for @uwaterloo but that used to be unreliable (on engmail at least). While I could have used @stephenholiday.com I was too afraid of it not working correctly. Also, email@example.com isn’t scaring anyone into hiring you either.
For one of your courses you will have to hand in a resume. Do not hand in the one you are using for co-op. You will fail that assignment. Like I said, the University wants something different.
Some people are afraid to apply to intermediate and senior jobs but don’t worry about that. You’ll get to pick up to 50 listings to apply to, I used all 50 and I’d recommend it for the first job. Although, you should know that you can’t say no to a job if it’s the only offer you get. Though I heard this might be changing. Later on you’ll want to dial it down once you have more experience on your resume. Otherwise you’ll have too many interviews. Doesn’t that just sound great?
There are two posting weekends where you get to apply for jobs. Once the first deadline is over, employers who didn’t get their job descriptions in fast enough will be in the second round. So you should leave some of the 50 for this. Once you get rejected from a couple jobs from the first posting you can apply to more jobs for the second.
The saving grace for many is the continuous round. It’s where all the jobs are that didn’t get filled in the first two rounds. It’s more random but is designed to find you a job. There’s some great stuff in there.
I prepare a lot for interviews. I spend more on that then any single class. “Cracking the Coding Interview” is a great resource for a lot of the questions you may be asked. Practice with friends, it’s very helpful. Derek says Elements of Programming Interviews is also an awesome resource.
My friends and I will ask each other questions from our interviews to add even more material to practice. There are a lot of sample questions online.
An aside about earnings, you can see what the current going rate is here.
At the end of the interview, always ask about the pay. It’s good if you ask a bunch of questions first. Some people are afraid to ask the pay. Some employers are thrown off if you don’t ask the pay (aren’t you interested in the job?).
If you feel uncomfortable about asking, you can frame the question something like “do you know what the compensation is for this position?” Sometimes they actually have no clue, it’s a little weird but not uncommon in large organizations.
If an interviewer tells me “it’s competitive” I cite the salary survey and talk about how big that range is considering I’m paying for tuition. It is hard for an employer to determine a fair salary if this is their first time hiring a student.
If you do coding questions and you have been practicing, you’ll often be asked a question you’ve heard before or is similar to another one you’ve done. Some believe you should tell the interviewer right away because they can tell. In my experience, I don’t and they can’t. However, if an interviewer asks me at any point if I’ve heard the question, I tell the truth.
My feeling is that if they are just asking questions they found online then I don’t feel that bad. As a potential future interviewer, I’d ask you to tell me but maybe I deserve it for asking a common question. However, just because you know the answer doesn’t mean you can explain it or code it up in an interview.
First impressions matter disproportionately. When you enter, be friendly, polite and upbeat.
Smile, even when you are on the phone. It may sound silly but when I smile on the phone my attitude and language is a lot more cheerful.
For your first job, they might not ask many technical questions. Don’t be discouraged. Waterloo’s Centre For Career Action has some thoughts on how to answer behavioral questions. Practice with your friends!
Practice common behavioral questions. For example, come up with three strengths and three weaknesses ahead of time. It’s really awkward when you list off your strengths and the interviewer says, “that was two.” On the bright side, you only need to list two weaknesses now…
A note about weaknesses, don’t do that “I work too hard” or silly stuff like that. I try to pick things that are not about my character but something I can learn. Then I tell them what I’m doing to change.
A friend told me the trick to being likeable is to repeat in your mind “It’s not about me it’s about you.” People love to talk about themselves and their interests. People like to hire people like themselves. They want to find someone they think they can get along with.
I find it very helpful to ask your interviewer about what they do and what they like about their work, even if it isn’t what you will be doing. Not only does it give you insight into how they work but it also allows the interviewer to talk about themself.
In the interview, you should not give the impression that you feel some tasks are below you (even if you secretly do). You want to get stuff done and you know it’s not all awesome. Sometimes the organization just needs stuff to get done.
That being said, I’ve loved most of my jobs and I often forget that someone is paying me to do the stuff I love.
You might not get a development job (if that’s your goal) for your first co-op job. And that’s OK. You have 6 co-op terms to grow!
In case you couldn’t tell, I’m pretty passionate about this stuff. I’m happy to answer more questions or look over your resume. Just shoot me an email.
Congrats on choosing an excellent program!
First I want to thank Tony Dong and Vineet Nayak for proofreading this. Thanks also to Derek Thurn for suggesting the “Elements of Programming Interviews” and Adhiran Thirmal for some thoughts about skills summaries and keywords.
I’m forever indebted to the amazing upper year students who gave me career advice and helped me turn my bulleted list of randomness into a resume. Particularly Mehdi Mulani, Adam Flynn and those volunteers from the EngSoc resume critiques.
Thanks to my roommates over the years (particularly Parth Gajaria, Vineet Nayak, Tony Dong, and Andy Wu) for proofreading my resume, practicing interview questions with me and slowing down when I didn’t “get it”.
Finally, thanks to the people who run JobMine and the Centre For Career Action. Some may complain about the $500 or so fee in our tuition every term but I felt like I was getting a deal so good it seemed like theft.