Getting your first internship is hard.

There are countless loops to jump through and it seems like an insurmountable challenge at first; that’s how I felt when I first went through the hunt to get an internship.

As I gradually learned the ropes and talked to a lot of people that went through the same challenges, I compiled a list of tips and advice that I wish I knew when I was going through my job hunt.

I would like to preface this article with two comments:

  1. This is from the experience of a student in the STEM field applying for a STEM co-op. Although the experience that I list may be different for individuals seeking non-STEM internships, I hope that I can provide general ‘first principles’ that can help anyone seeking their first internship
  2. The advice and tips that I list below are purely based off my own limited experience and my conversations with students that seemed to have the most success in securing a first internship (mostly upper years). I invite readers to critically think about the advice and modify it based on experience.

Motivation

In my opinion, co-ops and internships are a virtuous cycle, a concept that many of us have experienced. Virtuous cycles are feedback loops that build up upon each other, amplifying stimuli and responses for a tremendous, long-lasting benefit. Usually, virtuous cycles stem from a small advantage that we use to push ourselves higher and higher.

A good example of a virtuous cycle are NHL hockey stars. In Malcolm Gladwell’s Outliers, the author outlines an interesting fact: NHL players usually have birthdays in the beginning of the year. When they were young, the small advantage of being a few months older than their peers translated to bigger bodies, leading to better performance, better training and overall a much more likely path in becoming a professional player.

We can extend this concept to our own careers as well. With the advantage of a first internship, you would seem much more experienced than a similar individual with no internship when applying the next summer. This compounds to getting more jobs, better quality of work and an overall better career path. It all stems from creating and utilizing small advantages at the beginning.

My Story

Looking back, I would say that my path has been a series of these small advantages. In the summer of Grade 10, I was lucky enough to recieve the opportunity to work as a UI/UX intern at Critical Mass, a digital design company. The work was quite fun and opened my eyes to the world of technology. The following summer, I was invited to work as a bioinformatics intern at the University of Calgary due to my work in science fair. These two experiences made the experience of getting my first internship and first co-op quite a lot easier than I would have expected.

That’s not to say that securing the internship and co-op was simple. For my first internship over the summer after high school, I worked as a data science intern at StellarAlgo, a sports data analytics startup. To secure the internship, I dipped heavily into my network: I talked to an organizer of a local AI meetup that I had been regularly attending, who linked me with an employee at StellarAlgo, which eventually led to an interview. I am quite grateful for this opportunity, as it also had a large element of luck involved.

With my three experiences, getting my first university co-op was significantly easier. I attend the University of Waterloo, a university renowned for its technical education and co-op program. Students in most programs are automatically enrolled onto WaterlooWorks, the co-op job board. This board has thousands of co-op jobs, waiting to be filled by students. For my first WaterlooWorks round, I submitted 50 applications, leading to 3 technical screens and 6 interviews. This was narrowed down to 4 offers and 2 waitlists.

Before the Interview

There are certain steps you can take before entering the job hunt to maximize your chances of success.

Build and ship side projects: The technology industry has a huge side project culture. Side projects have several utilities:

  • Demonstrates your practical technical skills that cannot be demonstrated in class achievements and technical interviews
  • Highlights your passion for technology
  • Can even be converted into a real product with live users

Side projects of any type are great for your experience and certainly teaches a lot of skills. However, by strategizing about the project, you can make it outstanding:

  • Use industry skills: go to job boards and look at skills that employers are looking for. By creating projects that directly incorporate industry skills, you are in a much better position when it comes to interviews
  • Look at your passions: side projects should have an element of fun; otherwise, they become hard to follow through. Try to combine the list of skills and your passions to come up with a cool project. If you’re interested in machine learning and you love hockey, create a model to determine which players in the draft are most likely to be succesful. If you’re determined to get a product design internship and you love TikTok, redesign its interface using Figma. If like to travel and are interested in full-stack development, create a CRUD app for a group itinerary using the MERN stack. Be creative!
  • Complete the project: Many of us, including myself, often start off with an ambitious idea and gradually end up in a state where we are either unable to accomplish the project or we have ran out of time. I would argue that a completed, simple project is much better than a incompleted, complex project. Completing a project is vital in showing potential employers that you are able to follow-through on your ideas. To complete a project, ensure you have a detailed plan in place, keep the project a bit more advanced than your current skills to keep you hooked on the challenge, and ensure not to deviate from the plan.
  • Make it interactive: Projects where recruiters/interviewers can directly interact with are quite impressive. Try to deploy your web app or upload your project to a website.

Start early: Recruiting for summer internships often begins in the previous fall. Make sure that you have a updated resume and are ready to send out applications at this time. Furthermore, many companies have freshman-friendly internship programs that start in the fall (eg. Google STEP, Microsoft Explore, Facebook University, Twitter Academy) so try to apply to those as well.

Getting the Interview

From talking with lots of my peers, this seems to be the hardest step when getting the first internship. Here are a couple of tips that I have learned that can make this process a lot more successful:

The Third Door: I found an interesting piece of advice in Alex Banayan’s The Third Door:

Finding success is like trying to enter an exclusive nightclub. There are two main paths: the first door, where everyone waits in line and hopes to get in, and the second door, where the VIP’s effortlessly slip through.

What most people don’t realize is there’s always a third door. It may be sneaking through the cracked window in the back or the kitchen, but whatever it is, it will take resourcefulness and guts.

You want to minimize the amount of time you spend in the first door. The second door often requires connections which many freshman don’t have. Instead, go for the third door. Talk to LinkedIn recruiters and ask if they are hiring interns for a particular team. Go to local technology meetups and network. Set up calls with employers/interns that work in a position that you would love to learn about. In short, don’t be afraid to be unconventional.

Don’t worry about qualifications: My co-op advisor gave me a piece of advice that I will never forget: “Job postings describe the ideal candidate, not the realistic candidate. If you can match up to 40% of the qualifications, apply.” I was intimidated when I was scanning job boards for my first co-op. Many of them simply listed down technologies for an intern that would otherwise take a whole IT department to fulfill. I don’t regret listening to this advice: some of the positions that I got interviews for perfectly describe this situation.

Make a jaw-dropping resume: This is your first impression, so invest time into it. Make it simple, clean and efficient. There is no need for fancy colors/styling, unless you are targeting a design-based internship. I personally like LaTeX resumes; there’s a certain professionalism about them.

When framing your experiences, make sure to use the X-Y-Z formula proposed by Google recruiters. By highlighting and quantifying the impact of your projects and experiences, your resume becomes exceptionally clear to recruiters. It’s much easier to showcase your skills in this format rather than following resume advice given in high school career management courses.

Make your resumes personalized to the internship that you are applying for. Use keywords that are found in the job description to increase chances and highlight relevant experiences. If you are targeting a front-end internship, emphasize your web freelancing experience over competitive programming. If you are interested in joining the fintech sector, focus in on your knowledge of trading algorithms over your skills in React. By personalizing your resume, it shows that you at least care enough about the position.

One particular note is the importance of filters. I didn’t realize until I got to university that most resumes are simply filtered into an algorithm, so resumes should have as many key words as possible to increase the likelihood of success. Utilize resources like https://www.jobscan.co to determine if your resume can pass resume scanners.

Once you have a reasonable first draft, get your resume edited by seniors. They are the most useful resource when it comes to tackling the job hunt; in fact, most of the advice I am writing out here is the compiled wisdom of upper year friends. Constantly iterate and improve your resume based on their feedback.

Create an outstanding cover letter: If an application requires a cover letter, don’t go lazy on it. Asides from your resume, its your only chance to highlight your differences from other candidates. Like your resume, make it personalized and highlight experiences that is most pertinent to the company of interest and specifically match the qualifications on the posting. I would recommend making a general template and then changing the content for each company.

For more information, check out this article. Very illuminating discussion on the Third Door principle and other pieces of advice that I have mentioend.

Acing the Interview

Behavioural preparation: People often percieve this as the easy part of the interview, but do not underestimate it. If done well, this can cover up for your performance in the technical interview section and can push employers to hire you over much more qualified candidates. If time is an issue, I would argue that you should focus more on behavioural prep rather than technical prep.

The best advice I read and heard about came from McDowell’s Cracking the Coding Interview. McDowell goes over an excellent framework on behavioural interview prep that can be reused throughout the recruiting cycle.

  • Create an interview preparation grid: For every experience, note down challenges, mistakes/failures, what you enjoyed, leadership, conflicts and what you would do differently. You can pull out this information for most behavioural questions
  • Research the company: Every interview I’ve had involved some variant of the question of “What do you know about the company?”. Be prepared to answer this concisely and incisively.
  • Prepare an elevator pitch: Interviewers love to ask the generic “Tell me about yourself” Be prepared with a concise answer that also highlights why you would be a great fit for the position by emphasizing relevant experiences and skills.
  • Use the SAR method: When giving responses, make it structured. People like structure. Specifically, start off with the situation, then your action, and finally the result you achieved.

Technical preparation: For many first-year students, including myself, technical interviews are terrifying. Here’s a couple of responses that my upper-year friends told me that helped me out:

  1. Most technical interview questions geared towards first-years are relatively easy. It requires a little bit of algorithmic thinking but nowhere near the difficulty that we often percieve.
  2. Preparation is the key for technical interviews. Preparation should be a continuous process for it to be rewarding during interviews. Hackerrank, Leetcode and Cracking the Coding Interview are excellent resources for practicing your algorithmic thinking. Create a practice schedule and continuously practice problems. Look at common data structures (eg. stacks, queues, trees, arrays, linked lists) and algorithms (sorting algorithms, recursion, memoization and dynamic programming).
  3. Make sure you pay attention to first year CS courses. I had gone through a few technical screens that had asked questions that I had seen before in my courses. Furthermore, theoretical technical questions sometimes pop up (eg. explain the map/reduce paradigm in functional programming, explain dynamic memory allocation, discuss what happens when you type www.google.com in your browser, asymptotic run times) and are likely to be covered in first-year CS courses.

WaterlooWorks specific tips

The following pieces of advice are specifically for those that are part of WaterlooWorks, the University of Waterloo’s co-op system.

Here’s a breakdown of how WaterlooWorks works:

  1. Around 2 weeks into the term, WaterlooWorks opens. Every day, there are around 100 jobs that enter the system.
  2. You will have about 1–2 weeks to apply to a maximum of 50 jobs. This is known as the first main round
  3. You will then have 1 month where you can continue to apply to more jobs (second main round with an increased application limit of 300 jobs) and start to receive interviews.
  4. Around the first week of the third month of the term, the main round closes. (no more applications/interviews). There will be a rankings day where companies will either give you an offer, rank or not rank you.
  5. You will have about a day to decide your strategy and then submit rankings of the companies that either gave you offers or ranked you
  6. The next day is match day, where you will be matched with an employer
  7. If you are not matched, you are pushed into continuous round. In this round, steps 2–4 happen every week, with interviews from Tuesday — Thursday and rankings/matching on Thursday — Friday

More information can be found here. Here are tips that I collected from upper-years surrounding this whole process:

  • Work at a company before university: Generally, recruiters on WaterlooWorks follow this guideline: experience > projects > grades. Having past internships made my WaterlooWorks experience quite easy. Use the above tips to help you out in securing a job during/after high school.
  • Create a shortlist: During the first round, try to create a list of company positions before you apply rather than applying as positions come in. To optimize this process, divide out companies into reach, targets and safeties based on how closely you match their qualifications and have a pre-set number for each category. You do not want to end up in a situation where you have applied to too many competitive companies, which ends up in fewer interviews and offers.
  • Be picky: This is a piece of advice I heard from upper-years many times. When applying to jobs, especially in the first round, apply to jobs that you actually would enjoy working at. I know many friends that applied to jobs that they did not like as safeties; this made their subsequent interviews quite difficult. I personally went into WaterlooWorks looking to get a data science/machine learning position; almost 95% of my applications were related to this field. Since almost all of my interviews were also from this field, which made my experience quite enjoyable and eye-opening.
  • Use analytics: WaterlooWorks launched some amazing new features where you can find out the makeup of past interns for a particular position (program and year), survey results from past interns and much more. This is a boon for students as we get a lot more information about what we are applying for. This can influence our strategy in a positive way. For example, information on which years a certain company traditionally hires from can give you insight on whether a company is a reach, target or safety. It can also help weed out positions that interns did not find valuable. Spend some time using the data to create a perfect shortlist
  • Don’t compare yourself to others: I have found the experience of a whole university hunting for jobs slightly anxiety-inducing and toxic. It can be difficult when you see individuals in your class getting interviews almost daily while you are struggling to get even one. While it is easier said then done, ignoring others and focusing on your own job search will make the co-op hunt much easier on your mental health. If you are having trouble coping, reach out to friends or professional services. People are always willing to help.
  • Don’t be afraid of continuous round: Many of my upper-year friends found continuous round to have higher quality of positions, but was slightly more competitive and stressful. You can get some great internships from this round, so don’t worry if you recieved no interviews before rankings day.
  • Look outside: Summer 2020 co-op season was an excellent example of a general principle: being dependent on something is generally a dangerous and risky idea. By being totally dependent on WaterlooWorks, you make the assumption that you are guaranteed to find a satisfying job on the job board, which is not true for many people. A majority of students were hit extremely hard by the recent coronavirus crisis, as their one source of jobs was unable to meet demand due to decreasing supply of jobs. A few friends I knew immedietely began searching for jobs externally and had some great successes. I would recommend to have a parallel job search on external job boards to decrease dependency on WaterlooWorks.

I hope some of the advice that I have compiled from my own experience and advice passed onto me could be of use to you! Best of luck in your interview preparation.