With their Computer Engineering degrees now complete, my classmates (and I, in a sense) are now working at – or searching for – their first permanent full-time jobs. Looking back on the journey that got us where we are, the one thing that stands out between my classmates is the experience they got while on their co-op terms, and the quality of their resulting full-time jobs. I thought I’d take this opportunity to share what I’ve learned about what co-op jobs you should be looking for at each stage in the Waterloo co-op progression. This article is the second in a series of 6 (parts I, II, III, IV, V, and VI) on what you should be doing for each co-op work term with the University of Waterloo in order to get jobs with the best companies in your last few co-op terms; this part covers your second work term.
This series is written for computer engineering students in the University of Waterloo’s cooperative education (co-op) program, which consists of a series of 6 work terms in a repeating 4 months school/4 months work pattern for four years of the student’s five year degree. Most of the information presented here is not unique to UW students, however; students in a more traditional university program can still apply these tips by ignoring the term specifications and applying them in order to their work opportunities instead. Longer (8-, 12-, or 16-month) work terms also fit into this model; aim to be done the same things as a 4-month UW co-op student would be at that level of work experience (for example, a 16-month intern should try to complete items up to the 4th work term level by the end of their internship).
Your Second Work Term – Being Different
Plant seeds for future terms. Now that you’ve gained some experience, it’s time to put in motion the things that will get you to the top. As long as you make the right job choices, work terms are cumulative, so getting a job that is just slightly better than your classmates your second term will allow you to get jobs that are that much better again in your third term, and the cycle repeats until you’re one of the few getting offers for top-of-the-line jobs. The key is to start doing some things that will pay off in the future – start volunteering, for instance (there are plenty of places on campus – getting an EngSoc directorship both improves your university experience and looks good on a resume, and is usually a lot of fun). Another thing you should start doing is sending a few applications to the top companies you want to work for, even if you don’t have the skills yet. Many of the recruiters follow student progress, so submitting an application starting in your second or third term may give you an edge in your later terms (don’t go overboard, though).
Avoid going back. Unless you’re one of the lucky few that finds a job they absolutely adore in their first term, going back isn’t the best strategy. Now that you’ve got some experience, the majority of your job options will be better than your first work term position. Remember that you’re competing against your classmates for the available jobs; while some will come from behind to get great jobs in the end, it’s a much better strategy to try for a better position every term (the tortoise strategy in the tortoise and the hare) . That’s not to say you can’t go back to the same company – or even the same position – but make sure when you do so that you expect to get the same amount of experience as you would had you applied elsewhere (NB: if you haven’t noticed, it’s all about experience. Switching jobs may result in a pay cut, but should resolve itself in the later co-op terms. I took a 15% pay cut in my second term for a job that provided better experience, but as a result I was making almost double my first term salary by my fifth term). Just because it’s easy to stay where you are doesn’t mean you should do it – I’ve known a number of people who got laid-back jobs in their first term and stayed on for a second; not only did they regret the second (as four months of the same boring deal), most had trouble getting good jobs in future terms, too.
Stand out from the crowd. Employers comb through hundreds of resumes, each one a variation on the same theme. Your goal is to stand out – in a good way! – so that they remember you when it comes time to pick candidates to interview, and when it comes time to choose who to offer a job to. What does that mean? Spend time making your resume perfect; spelling errors make you stand out, but the way you are looking for. Do your homework before going to the interview, so that you’re able to discuss the company without making wild guesses (don’t try to lecture the interviewer on how much you know, though). Have that one piece of experience that everybody else doesn’t have, be it technical or volunteer. When preparing your resume, consider mentioning something unusual about yourself (may be you play an odd musical instrument – the bodhrán, perhaps – or have an unusual hobby; anything harmless but odd is perfect). Don’t force it, but you’ll occasionally get a comment out of the blue about whatever you mentioned that cements you in the interviewer’s mind. Knowing technical detail unexpected of a co-op student can also help you stand out – I shocked an interviewer once by knowing how garbage collection in .NET worked, and diffused another one by observing that his interview question was equivalent to the knapsack problem, which is NP-complete; both interviews led to job offers.
Aim for the industry vertical you want. This is the term to start positioning yourself for the jobs you want in your later co-op terms. If you’re looking for hardware jobs, bias your applications toward hardware positions, and the same goes for software or IT positions. At this point, you just want to make sure you’re in the right general area; you don’t need to have all of the factors (like application type (web, desktop) or programming language) perfect yet – that’s for future terms. If you started in the right vertical, great; if not, getting into the vertical is a lot easier on your second term than any other term. Most of the people I know have done the same style of jobs since their first or second term, as you need the right set of circumstances to make a change without ignoring some of your experience (I cover the best way of switching during the third work term).
Follow your stats. This is not strictly necessary, but I’d highly recommend it – start keeping track of the number of jobs you apply to, the number of interviews you get, and the number of offers you get from those interviews. When you’re just starting out, expect those numbers to be low – but that’s OK. Whenever you get an application rejected or a job ranked or not-ranked instead of offered, review the job posting or your interview performance in order to figure out why it didn’t work out. Were you applying for a job that you had little chance of getting? Did you respond poorly to a question? Were you up against a classmate who writes compilers for fun? Figuring out why things went the way they did is the secret to making your stats go up, as you’ll know how to handle similar situations in the future. And having good stats is a blessing: you’ll either have to attend less interviews (less stressful) for the same number of job offers, or get more job offers and have more selection (at the cost of more time spent interviewing). By my fifth term, I turned 14 applications into 9 interviews and 8 offers – an 88% conversion rate from interview to offer! That same term, I knew people who did 20-30 interviews and 40-50 applications in order to land a single position; not only did they work harder, but they had less selection, too.
The Ideal Work Term Progression for Computer Engineers, part III
With their Computer Engineering degrees now complete, my classmates (and I, in a sense) are now working at – or searching for – their first permanent full-time jobs. Looking back on the journey that got us where we are, the one thing that stands out between my classmates is the experience they got while on their co-op terms, and the quality of their resulting full-time jobs. I thought I’d take this opportunity to share what I’ve learned about what co-op jobs you should be looking for at each stage in the Waterloo co-op progression. This article is the third in a series of 6 (parts I, II, III, IV, V, and VI) on what you should be doing for each co-op work term with the University of Waterloo in order to get jobs with the best companies in your last few co-op terms; this part covers your third work term.
This series is written for computer engineering students in the University of Waterloo’s cooperative education (co-op) program, which consists of a series of 6 work terms in a repeating 4 months school/4 months work pattern for four years of the student’s five year degree. Most of the information presented here is not unique to UW students, however; students in a more traditional university program can still apply these tips by ignoring the term specifications and applying them in order to their work opportunities instead. Longer (8-, 12-, or 16-month) work terms also fit into this model; aim to be done the same things as a 4-month UW co-op student would be at that level of work experience (for example, a 16-month intern should try to complete items up to the 4th work term level by the end of their internship).
Your Third Work Term – Honing Your Skills
Get a job in the industry vertical you want. Now is the time to really start thinking about the job you want once university is over, and you’ve now got the experience to have a pretty good idea what jobs are available. Re-evaluate your co-op jobs to see if they are leading you in the right direction, and if not, apply for the jobs that will get you there. That may mean taking a job that pays a little less, is further away, or is a little easier than you’re used to, but if it gets your foot in the door, it may be worth it. Even better is a job that combines aspects of your previous job with the jobs you want to get; consulting is a good place to look. My first two terms gave me some programming experience, but only on small ‘toy’ applications. By getting a job in consulting during my third term, I was able to turn my slow, inelegant coding abilities into fast, inelegant coding abilities on applications businesses depend on. My previous experience was an asset to part of my job – developing ‘toy’ applications under tight deadlines for sales purposes – but the other parts of my job increased my capabilities enough to move me into the vertical I wanted to be in for future co-ops.
Learn from everyone around you. For many people, the third work term is where they really began to feel they are part of the industry. Jobs that were once assigned to ‘the co-op’ increasingly begin to skip you and land on more junior students’ desks, and the tasks you are assigned are instead the tasks that a full time employee would be doing had you not been available (or had they not been so busy, etc). Businesses begin to trust you with small parts of real projects that get shipped or shown to customers. The benefit to this situation is that you get to work with the same tools and products that experienced workers do – so take advantage of the situation! Suck up as much knowledge as you can from everyone around you, regardless of their seniority or position. How is maintainable software written? How do consulting companies get clients to pay on time? How do you deal with a union? How do you handle office politics, and who can help you navigate the political issues? How do you tell which team members are highly valued, and how did they become that way? There is plenty of wisdom about both the computer industry and the technical skills that it entails wrapped up in the experiences of your co-workers, so make sure to take advantage of them. You may have been doing this already – if so, great! In either case, you’ll want to focus on learning from those around for the rest of your work terms – knowing the things they have to teach can make a big difference in the future.
Build a portfolio. The fourth work term is when the very best start to show exactly what it is they are made of, often a result of the nature of the position they manage to land; your third work term needs to prepare you for this competition. The best co-op positions are ones that provide you with some responsibility, and the best way of getting such a position is to show that you have the skills to handle it. True responsibility is hard to show on a resume or in an interview, but a useful substitute is demonstrated experience in the area that a potential employer is looking for help in. To demonstrate your experience, consider building a portfolio that showcases the work you’ve done for past companies, on projects, or for fun. The goal of such a portfolio is to show potential employers that you’ve done similar things to what they do in the past, and allow them to extrapolate that you would be a much better hire than the student who has no relevant experience. In particular, you want your portfolio to be specific; instead of the resume-esque “assisted in the development of a sample application”, you want to say “co-developed Project X, where I implemented a cuckoo hashing data store that improved object load performance by 23%.” As long as the project you worked on isn’t confidential, give the reader a couple paragraphs of insight into what it was, precisely, that you did for your previous employer. With a portfolio, not only can a potential employer sort the wheat (you) from the chaff (other students who make their coffee-getting skills look like real experience on a resume), but they can also see how you could fit into their team and help solve their problems. Some (most?) employers may not even look at your portfolios, but even the act of creating one will allow you to reflect on the important parts of your previous work terms, which makes it easy to answer questions about them in interviews. Finally, as for format, do whatever make sense to you – web site, PDF document, or even a physical binder that you bring with you to interviews. If possible, do something that is web accessible, since it’s easy for employers to access, and they can have a look when reviewing resumes.
Don’t forget interview skills. Your third work term isn’t just about honing your technical and business skills – interview skills are also important to work on. If you have the opportunity, attend the interviews your employer does to find the co-op student to follow you. Try to identify the aspects of each candidate that suit them to your job, and what it was that made you decide that they were (or were not) suited. It’s very likely that you will field similar questions in the future, so pay attention to what style of answer best conveys the candidate’s qualifications (no joke: I sat in on an interview where the candidate literally read the answers to our questions off a sheet he had prepared and brought in with him. Two things I learned: prepared answers read or memorized word-for-word sound too mechanical and formal in an interview context, and you have to learn to think on your feet – the candidate crashed and burned as soon as we asked him a question not on his prepared sheet). Even when you’re the one being interviewed, try to figure out the protocol for the interview – who is the technical interviewer and who does the HR questions; how you can help them solve their problems; how your experience meshes well with their business; whether stories or detailed technical answers work better; how much technical detail is expected; how the employer will take it if you disagree with their opinion (which can be the thing that gets you the job offer; some interviewers push until you push back). Taking an active approach to the interview process will serve you very well, as many students have trouble with the interview portion of the co-op process – by offering you an interview, the employer has already recognized that they could see hiring you; the job is yours to lose. Take advantage of the time you spend in an interview, on either side of the table, to develop your knowledge for future interviews.