26 Dec 2018

Cheat Sheet for Landing any Tech Internship

A step-by-step guide for engineering students

With internship season around the corner…

Anxiety levels over acquiring a summer job are high. Since I’m often asked about how I landed my internship positions during college, I thought I’d make my methodology generally available. I’ll give advice for both technical and non-technical students. Although, be aware that, as an engineer, I might be a bit biased.


When you meet a new person…

You think about two things: (1) Can I trust this person? (2) Do they deserve my respect?
If I already have this from you, feel free to skip ahead.

Here are the 5 internships I held during college:

  • Summer 2013 (Pre-college, 1 offer) : Unpaid internship at the Brooklyn DA
  • Summer 2014 (Year 1, 1 offer) : Unpaid internship at student-led startup accelerator
  • Summer 2015 (Year 2, 1 offer) : Paid internship at The MITRE Corp
  • Summer 2016 (Year 3, 3 offers) : Paid internship at SpaceX
  • Summer 2017 (Year 4, 3 offers) : Paid internship at Uber ATG

WARNING: Back-to-back summer internships with no breaks during the school year is a recipe for stress. This was a trade-off I made for the sake of experience (and paying college tuition).

Before we get to the good stuff…

A general framework for how you should approach your internship search:

  1. Try to intern at a small, medium, and large company over at least three summers.
    • Many students will graduate never having known what it’s like to work at a startup or big tech company because they consistently chose the first thing that came their way. Use these experiences to broaden your decision space once you start looking for full-time positions.
  2. Do NOT be afraid to brag.
    • Personal branding is incredibly important at this point in your career as you don’t have enough experience or connections yet to advocate for you. Consider making a LinkedIn or creating a portfolio of code, presentations, or anything else you’ve worked on.
  3. If you think you’re being hired because the company desperately needs your amazingly awesome engineering skills, think again. ALL companies hire interns as a means for filtering out potential full-time employees.
    • This is often a discrepant world-view between recruiters and interns. Because the risk of hiring a bad full-time employee is greater than hiring a bad short-term employee, many companies will only hire full-timers from a prior pool of well-regarded interns. I’ve found it’s not uncommon for companies to discard intern projects entirely after they leave.
  4. Every interview you have will fall into one of two categories: Behavioral or Technical. I’ve been on the receiving end of countless interviews for banks, big tech companies, small and medium-size startups, research institutions, government contractors… you name it. I’ve also been on the other end, interviewing engineers and business majors. With this experience in mind, I’ve broken these two categories into seven sub-types:

The seven types of interviews:

Category Type Description Preparation
Behavioral Values Who are you, what do you believe in, and why? It is important here to speak from a set of consistent values. Here's the interviewer looks for value-alignment with the company. Take a look at my post about discovering your values. (TBD)
Behavioral Cerebral I'll call this a "trolley problem interview". You're given a scenario and asked what you would do. Usually there's no correct answer. All the interviewer looks for is your ability to articulate your thoughts and justify them accordingly. Practice articulating your thoughts to a friend in a mock interview setting.
Technical Project Deep-Dive A full-on interrogation regarding a project you either put on your resume or one you elect to talk about. There's almost always one of these in a technical interview for engineers who haven't worked primarily with code. Study up on projects you've worked on and those you put on your resume. Recollect trade-offs you had to make during the whole process. Be prepared to answer to any obvious short-comings. Obviously, to avoid this, select a project you are particularly proud of.
Technical Supervised Online Coding Challenge Usually a Google Doc or collaborative online document. Most questions come straight out of "Cracking the Coding Interview." There are enough services and information out there on this topic that I don't need to go into detail here. One thing's for certain: if you don't practice, you won't do well.
Technical Unsupervised Online Coding Challenge These usually come in the form of either a take-home project or more often, a third-party web app. I've had one such interview take up to 4 hours on a school day. Interviewers may really ramp up the difficulty on these. In my opinion, this is the best method for evaluating an interviewee. My advice is simply to be a good engineer: Familiarize yourself with general algorithms. Use standard coding practices and design patterns. Comment your code. Write a technical document afterwards summarizing your design decisions. Be thorough and detailed.
Technical In-Person White board Usually coding or math-based challenges. Practice. You must be able to articulate and justify your thoughts as you work through a problem under pressure. This is a skill in and of itself. It's like an acting performance. There's no other way to get good at white-board coding without first standing in a classroom and doing it yourself.
Other In-Person This category is reserved for the other rare forms of interviews. I've personally experimented with interviewing hardware and mechanical engineers using problem-solving based questions given physical hardware. I plan to write up my findings from this in a future post. N/A

Here’s a secret:

The people who will open the doors for you are often not technical at all. Recruiters are often TOLD what to look for by hiring managers who defer to engineering managers who identify sets of skills (coding languages, qualifications, education) they deem necessary to fill a specific position on their team.

Hiring managers then digitize resumes and use tools like ranking based on keywords to identify candidates for interviews. As a result, it’s possible that everyone involved in this process may not be technical at all. This is a reality we must deal with. However, you can learn to use this process to your advantage. If you’re interested in some tips on how to take advantage of resume ranking algorithms, check out my post (TBD) on this topic.

Finally:

My advice for landing an internship based on your year in school. Please be aware that the below are suggestions based on my own experiences. Some content might contradict the standard advice given by university career offices (eg. the “Spray and Pray” method), but have done me more good than harm in the past. Here goes…

Freshman:

If you are not already applying to something over winter break… what are you waiting for?

Follow these words: Spray and Pray - Send out your resume to any and all opportunities that come your way and peak your interest. You’re going to have to do more work than the upperclassmen if you want to land a legitimate position. This is generally not advised by universities since it implies some level of manic ferociousness and lack of direction. However, I am encouraging this method because not only will you get your name out there, you will also learn what the process is like applying to internships for future summers. As a result, applying to jobs will become much easier moving forward.

  • You will get no responses. But that is okay. You shouldn’t expect something big to come your way.
  • You have to be willing to move to another state. Maybe even abroad.
  • Leverage any and all contacts you have and attend networking events at your university for more leads.
  • If you are okay with taking a hit to your wallet, you have to be willing to earn $0. The adage “getting experience requires experience” is another unfortunate truth we have to deal with.
  • Look for research opportunities at your school.
  • Apply to specialty programs geared towards freshman.
  • If all else fails and you can’t afford an unpaid position, work at a local coffee shop and do a project on the side. Doing something is better than nothing.

Sophomore:

Spray and pray? Not so much.

  • Now that you’ve declared a major, you’ve hopefully applied to internships in your field. Be aware that you might actually get some responses to the emails you send out.
  • Email your contacts. Networking events, family members, anybody willing to help you out. The power of weak-ties is real. It’s how I got an interview for my internship this year.

Believe it or not, there seems to be a definite ordering to the ease of acquiring internships based on company genre:

  1. Easiest: Small unknown startups. These are companies that require any level of engineering talent to help get an idea off the ground.
  2. Local businesses (eg. small companies, hospitals, design firms, etc). They don’t usually advertise through your company’s internship listing because they lack personnel dedicated to outreach. You must find them - more often than not, they’ve considered hiring interns but cannot put in the time to find some.
  3. Research institutions (think government contractors and three-letter agencies).
  4. Large Banks. These institutions usually require a hefty amount of IT infrastructure that calls for basic programming skills which many students have by now.
  5. Hardest: Big tech companies (Google, Microsoft, etc). If you land an interview, don’t expect them to go easy on you based on your year in school. You’re getting the same difficult interview process as an upperclassmen with more experience, projects, and courses behind them.

Junior/Senior:

  • If you’ve built up a resume of projects and internships so far, tread carefully, you’re hot material. You’re underselling yourself if you do not go into the application process with this mindset.
  • If you receive an offer, don’t be afraid to tell the employer you need more time if you are in the interviewing pipeline for another company. I’ve seen students even negotiate salaries at this point. I personally do NOT advise doing this, but if this will dictate your final decision, it’s worth discussing with your recruiter.
  • If you don’t find yourself in such a fortuitous situation, do research at your university. You’ll have enough skills at this point to make some meaningful contribution to a big project.

Looking back…

In hindsight, take a semester off to get work experience. It’s less competitive during off-seasons and you’ll have a longer time to get experience at a company with longer-term projects.

Good luck friends. Next time, a cheat sheet for landing your first full-time role at a big tech company.

-Justin

Subscribe for notifications about new posts!

(Quality Content Only, I Promise)