It’s everyone’s favourite time of the year at my school – finding your next (or first) work placement. If you know anyone in the co-op program at the University of Waterloo, you’ll know that they are probably camping out by their laptop refreshing the “Interviews” page on Jobmine.

Some background on the co-op program at my school:

  • It’s a series of paid/unpaid internships
  • Each work term is 4 or 8 months. Students alternate between work and study terms during the year. There’s a lot of moving around.

During first year as a CS student, the biggest thing I feared were technical interviews. It’s pretty unnatural to write code without a computer with Internet access these days. We’ve all been there – clutching onto Google and StackOverflow for answers to problems.

These technical interviews either involve writing a 30 or so minute test or presenting answers to the interview via a sheet of paper or whiteboard. Some interviewers will tell you how you’ve done, but most won’t. For me, many interviewers have sit silently, with little eye contact recording answers. That’s the worst.

Here are some things I noticed and recommend doing:

  • Always step through your thought process. Explain why you are using that loop and what the intent is. To be a good problem-solver, you need to be able to communicate your logic.
  • If there’s a pencil and paper or whiteboard and marker lying around, create diagrams to describe your logic.
  • If you don’t know an answer 100%, make an attempt to arrive at a reasonable answer. But don’t fake knowing the correct answer. No one likes a liar.
  • Don’t be afraid to ask your interviewer to clarify the question. Ask all of the questions in fact.
  • If the technical interview is a test, be sure to give full and detailed responses. You don’t want the person marking it to guess what you were trying to write.
  • At the end of the interview, always ask the interviewer how you did and how you can improve.
  • To prepare for technical interview, review classic programming problems. There are plenty online. However, don’t expect all your “studying” to get you through! It’s a combination of luck and your ability to think under pressure that day. So get some sleep the night before!

Good luck everyone!

Related Posts:
Internships and Self-Esteem
Developing for Culture
Types of Co-op Students

  • I guess I’ve never been totally clear on what a dgiesner does. It always seems like such an airy thing when I hear programmers talk about it- like the dgiesners come up with monumental tasks for the programmers to do and just go on their merry way while the builders sweat and toil. The idea of just doing design sounds too much like the architects that used to piss us off when I was a carpenter- the guys who had no idea how the physical world or code restrictions worked, just drew something up and sent it out for us to swear about and modify until it made some semblance of sense. I don’t want to be that guy. To use another analogy, when I was doing theater I did both acting and tech work for each production. I always felt like it was important to have some idea of what went into having a stage to act on, and how many people worked behind the scenes and were only seen for about 30 seconds to take a final bow.This isn’t to say that I wouldn’t want to do design work, but I’d also feel wrong about designing without also at least having some idea of what the programmers would be going through while I was thinking of things to implement.

Be bold, take flight - tryangles!