- Perception versus Reality
- The Internship Process
- Getting an Interview
- Company Timelines
- Final Thoughts
- Passing the Interview
- Interview Timeline
- Your Todo List
This is a part of a series of guides called Zero to Offer aimed to help you navigate the internship process. We recommend you start here!
Internships at top tech companies are sought after for good reason. You get to meet interesting students from all over the world, receive competitive salaries, experience amazing mentorship, and be pampered with perks from cool companies. So you might be wondering: How do I even get to work at one of these companies?
Luckily for you, this guide will tell you what to expect and how to prepare at a high level.
Getting these internships require a decent amount of effort. How badly do you want to intern at a "top" company?
- How much work are you willing to invest into your career?
- Do you really want to be a software engineer?
As college students, we are at a meaningful stage of our lives. While you should focus on your career and your academics, you should also have fun, make friends, try out new things, and figure out what you like and dislike. Landing a top internship takes a lot of work, but it is extremely rewarding and sets you up for a lot of success. That being said, it is possible to have fun in college and simultaneously grind through the internship hunt.
Society has ingrained preconceptions of prestige and brand. We think that Google is a "better" company than a local tech company down the block and that you would be happier at a “better” company.
However, this logic is false. There are so many better factors in determining the best company for you other than company prestige. Below is a list of a few:
- The projects you work on
- The team you work with
- The people you work with
- The company's future potential, culture, and values
- Work life balance
You might think that working at Google (or whatever company your eyes are on) will solve all your problems and make you really happy. But it won’t! It is very possible that you can learn more, have more fun, and potentially earn more working at a small, local startup than at a popular tech company.
That being said, there is definitely value in doing a “top” internship. As mentioned above, the compensation, people you meet, ability to explore cities, knowledge, and more, are great. In addition, your “perceived engineering ability” will initially be associated with the reputation of companies that you have worked for. You typically infer someone that has worked at Google, despite not knowing what they actually did, is more capable than someone who has worked at an unknown startup. Even though this inference isn't necessarily true, it lays the basis for a lot of recruiting practices.
There are also a lot of great companies. You might have a few in mind that you think you would really be happy at. However, there are a ton of technology jobs in the world that require smart people. Keep an open mind.
Ultimately, the most important advice is to apply everywhere. Apply early and apply everywhere, and assess your options after you get an offer. Apply even if you do not meet the requirements for a company.
The internship process is actually pretty simple. You get an interview, and then you pass it.
Getting an interview is contingent on a few things:
- Having Foundational Skills
- A strong resume
- Applying to a bunch of companies
We dive deep into the first two bullets in the Building your Case section.
Applying to companies involves mass online applications and it is common to apply to over 150 companies. For companies to apply to, use internship postings like this repository! Here are a few things to note about applying.
A company "ghosts" a candidate when they ignore the candidate's application. This practice is extremely common among tech companies since the number of applications they receive is so large.
You should expect to get ghosted by 50 - 80% of the companies you applied to. Getting ghosted isn't a reflection of your incapability. Even the strongest candidates get ghosted, so just keep applying!
Every company is different and will have a different application timeline. Knowing which companies are hiring at certain parts of the year will help you tailor your applications to specific companies.
Note: These descriptions are all generalizations
Group A: Companies whose main export is software and their main labor force is software people. Group A Companies (think Google, SAP, Robinhood) will have their applications out in August and most positions filled by November, but many hire well into the next year.
Group B: Companies who cannot ship products without the use of software. Group B companies (Apple, NetApp, Cisco) will generally have their positions filled by December/January.
Group C: Companies who use software as a support tool, but their primary export is not software development. Group C companies (FedEx, Dick's, UPMC) hire well into the spring.
Most hiring begins in the fall (September, October) and by January only a few companies are still hiring at the same scale. This is why you have to apply as early as possible.
Trading companies are another type of company which have both SWE and Quant roles! If you like math, finance, investing, or never heard what a "quant" was before, check out our guide on Trading companies.
- We can't emphasize this enough - apply as early as possible!!
- Getting the interview is the toughest part, so don't worry if your initial response is weak.
- Applying online is tough, time consuming, and kind of like shooting into a blackhole. Nevertheless, it's completely worth it because it allows you to easily apply to many companies!
- Keep an open mind in terms of the companies you apply to, especially when you are looking for your first internship. Beggars can't be choosers!
- Companies are mean to freshmen, tepid to sophomores, and kind of nice to juniors.
- A large amount of luck is involved (more on this in the next section)
Once you manage to get an interview, you have to pass it to land the offer. This entails:
- Understanding the concepts of Data Structures and Algorithms (CS 0445, CS 1501)
- Studying LeetCode or Cracking the Coding Interview
- Behavioral Interviews
- Having Strong Communication Skills
These steps will be covered extensively in the Acing Your Interview guide coming up.
A typical interview process may look like this:
- You apply online
You get an email asking to do a “Hackerrank”.
- This is a timed, online coding puzzle. Usually these are difficult.
- If you pass the Hackerrank, you get a phone/video interview with an engineer. Sometimes there will be multiple rounds.
- Some companies might even fly you out to their campus, where you spend a day doing an “onsite” interview.
- Usually hear back 1-3 weeks after your onsite. You can speed this up by having another offer deadline.
Companies tend to follow a format similar to this. Some companies may deviate slightly. For example, Google internship interviews do not have an onsite, but have a “team matching” phase. Others might have an initial “recruiter behavioral phone screen”. Some may even have multiple Hackerrank stages. But, this is what you should generally expect.
All of this interviewing ends up being a decent amount of work! To succesfully land an internship, you need to do a lot of interviews. Treat interviewing like a 3 credit class.
- Finish reading the Zero to Offer guides
- Make your resume (tips here)
- Get your resume reviewed
- Apply Apply Apply!
- Interview Prep
- Enjoy your time at college!