Justin Selig

Thoughts on Landing Tech Internships

Thoughts on internships 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 provide some thoughts for those currently in the recruiting process. I’ll give advice for both technical and non-technical students. Although, be aware that, as an engineer, I might be a bit biased.

Here are the 5 internships I held during college:

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. Most 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 students. With this experience in mind, I’ve broken these two categories into seven sub-types:

The seven types of interviews:

BehavioralValuesWho 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.
BehavioralCerebralI'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.
TechnicalProject Deep-DiveA 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.
TechnicalSupervised Online Coding ChallengeUsually 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.
TechnicalUnsupervised Online Coding ChallengeThese 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.
TechnicalIn-Person White boardUsually 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.
OtherIn-PersonThis 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. Use keywords from the relevant job description to boost your resume in your target’s company’s ranking algorithm.


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…


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

Spray and Pray might yield interesting results - Send out your resume to any and all opportunities that come your way and pique your interest. You’re going to have to do more work than the upperclassmen if you want to land a 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, but 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.


Spray and pray? Not so much.

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.


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. If you find this useful, please don’t hesitate to send me a note.


· blog