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.
The Ideal Work Term Progression for Computer Engineers, part IV
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 fourth 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 fourth 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 Fourth Work Term – Being an Asset
Consider returning. The fourth work term is an interesting time for co-op students. Though the best students are sometimes suited to the top-notch jobs, older students are still competing for jobs and – with their extra terms of experience – tend to shrink the supply of top-notch jobs significantly. As a result, students looking for their fourth work term positions aren’t often able to get jobs that are materially better than the jobs on their third term – an aspect that is both good and bad. If you are lagging the rest of your class in the competition for jobs, then the fourth work term gives you the opportunity to even the playing field and play a bit of catch-up. However, if you are doing well, I would consider returning to your third work term employer; in some cases, you’ll be able to negotiate a better position than you would get going through the interview process. Why? You’ve already amassed all of the company knowledge you need in your previous work term, so they can get you started without a ramp-up period. And they already have four months of proof about how good of an employee you are and how much you can handle – something a new employer won’t have. Use these facts to your advantage, and discuss with your third work term employer the possibility of returning with expanded responsibilities. Many employers will be glad to oblige – full time employees are on a similar progressive responsibility ramp, so starting you down that path makes business sense. My previous advice still stands: even given all of the above, don’t return unless you believe that you’ll be able to pick up more experience. But at the same time, don’t discount the experience you’ll get from being handed similar projects with more responsibility – responsibility itself is a skill to be learned. It can be a tough call very dependent on your situation, so do your homework and choose wisely.
Try something different. If you’ve decided not to return, consider applying to some jobs that are slightly different than what you are used to. That’s not to say you shouldn’t apply to jobs similar to what you’ve done before (you still should), or apply to jobs you wouldn’t be good at (avoid doing so); rather, think of it as an opportunity to expand your technical abilities. I’d still strongly suggest taking whatever job that gives you the most experience, but given the competitiveness for jobs in the fourth work term, that level of experience might not be available in the field you are accustomed to. Being “well rounded” is a desirable trait that is often bandied about, but it doesn’t only apply to one’s non-technical pursuits. Being well rounded technically is also an asset; real-world technical problems are rarely confined to a single domain. If you’re a hardware developer, knowing how software developers build software can help you make the best decisions when designing chips, and high level software developers can find a lot of applicable wisdom in the intricacies of low-level system development. Though these two examples present polar opposite positions, how different that job is from what you are used to is completely up to you. Even a slight difference gives you a different set of knowledge, and that knowledge may be the thing that gives you an edge over your classmates. In my own experience, I’ve encountered software developers with the following extra skills that stand out above the rest: computer hardware (saving someone’s dead machine is a great skill to have in crunch times), networks (most software developers have no idea how the internet works), user interfaces (if the user can’t operate your product, then it doesn’t matter if you wrote it in Erlang/Ruby on Rails/Django/some other latest-and-greatest technology), math (the ability to do back-of-the-envelope calculations to determine a solution’s feasibility can save many hours of work), localization (knowing how to write a program that can be used in multiple cultures is a very rare trait – the English-speaking population is only so big), or even sales and marketing (building a program is very different from selling it). Many developers get by without any of those skills – but most of the best developers I know have some rare knowledge for the field they are in that makes them stand out from the crowd of other good programmers. Taking a job that is slightly outside of the area you’re used to may be the thing you need to develop this knowledge and set yourself apart.
Be responsible for something. Of all the things I’ve discussed, this is probably the most important. As much as managers want to believe that they they are hiring an army of employees ready to act on their command, the best employers actually want something more akin to a worker bee: someone who can be tasked with a specific responsibility and given the flexibility to pursue that goal for the benefit of the entire organization. Co-op students often don’t fit into this model very well; they often need lots of hand-holding and a close watch to ensure they don’t get waylaid. But by your fourth work term, most employers will be comfortable enough with you to give you some amount of responsibility without watching your every move. This responsibility is an important step – without being individually on the hook for something, the best employers are likely to pass you by for those that have. It doesn’t matter what it is, how important it is to the company, or how much money someone stands to lose or gain; what is important is that, when given responsibility, you are able to step up to the plate and knock that responsibility out of the park. Look for opportunities to be the person responsible for some aspect of the project you are working on, and make sure to do everything you can to make it a success. Then, keep that aspect in mind when writing your resume (it should be on there) and in interviews (when the interviewer asks for an example, use it). I’ve known people who, in their later terms, were set in motion at the beginning of the term and then evaluated at the end, without any direct supervision throughout the term. Those scenarios are where careers are made, when a task is assigned and the some time later assignee comes back with something totally unexpected yet awesome. The only way you’re going to get one of those assignments is if you can show you can handle smaller amounts of responsibility, so make your fourth work term count in that regard.
Produce measurable results. Once you get to the fourth-work term level, some of your classmates will start making big contributions to the companies they work for. They might be at the point where they can lead the team on some aspect of development, or they might be able to deliver a key component, or they might be able to save the company some amount of money – it really doesn’t matter what it is, the result is that they are able to show future employers that they are able to have a measurable effect on the company’s success. Try to find an aspect of your duties where you can produce a measureable result; often, that aspect is the same thing you were given responsibility for. You want something you can neatly draw a box around and say “I did that”. With that experience in hand, you’ll be able to say to future employers that you can help them be successful by doing X, and you’ve already done Y to prove that you can. This is a continual process, and one that doesn’t stop when co-op does; just because you did Z a couple years ago doesn’t mean you still can, or that Z is even still relevant to the current environment. It’s the same reason why Steve Jobs is more desirable than Steve Wozniak; both Steves built Apple I and II in the late 70s/early 80s, but Steve Jobs went on to make Pixar a success, save Apple, and build the iMac, iPod, and iPhone. If you had to make a bet on which Steve would be more likely to make your company successful, which one would it be? And it’s exactly the same reason you should be trying to produce a series of measureable results – to show potential employers that you have the capacity to do it again, but this time for them.