Steps to getting a STEP Internship at Google

Samuel Alarco
10 min readJan 30, 2021

Lessons learned on how to obtain a software engineering summer internship

Photo by Rajeshwar Bachu on Unsplash

The Motivation

They say “Getting a job in tech is easy. Getting a career is something else.”

For many students aspiring to a career in tech, the competition can be quite daunting. Recruiters expect an experience-filled CV to consider you among the thousands of new grads that year apply for a job at their respective company. It is not enough to obtain good grades. If you want to kickstart a career in the fast-changing world of software and technology innovation after you graduate, you need to stand out from the crowd and get the right experience early on. An internship is a perfect way to acquire the exposure and experience necessary to propel you into the world of software engineering.

I realized this mid-way through my freshman year in 2020. Too late. Internship applications had closed in the EU, and very few companies were even considering freshmen. But it became my steadfast goal to land an internship for the summer of 2021.

Fast forward one year later, and I am opening my first offer email for my dream internship. I had obtained a STEP internship at Google. How did I get here in one year?

Step 1: Start Early

I am afraid that by the time I started looking for a summer internship in my first year of university, it was already too late. I was not aware of the dates companies in Europe usually have for the whole internship hiring process, and being a first-year did not help. Even though I started sending resumes to all the tech companies that still had not closed their application periods, only one company answered me with my first official rejection email. I had learned my first valuable lesson. Time is of the essence.

Photo by Elena Koycheva on Unsplash

In other words, if you want to get an internship in a decent tech company as a software engineer, start now.

After doing some research, it became clear to me that in Europe there are not as many opportunities for an internship as in the USA, and even fewer that take in first and second years. Most companies were looking for third and fourth years in order to take them in as soon as they graduated. But I soon found the golden opportunity I was looking for: the Google STEP Internship, which actively targeted first and second-year undergrad students. It was already too late for me to apply during my first year, but I became determined to get it for my Senior Freshman year.

I realized that it was not all bad that I had not been able to get an internship for the summer. It just meant that I now had the whole summer free to prepare and try again in the fall.

Step 2: Prepare Early

Every student looking to land an internship meets the infamous guardian of the door: the Technical Interview. While not a challenge to be despised, the good news is that it is up to you whether you pass it or not. In other words, it is something you can prepare for. And if you want to prepare properly, my recommendation is to start preparing early. It will be a far more rewarding and relaxed journey if you start preparing months ahead doing 2 problems a day than if you cram 100 problems in the week preceding the interview.

“Time is of the essence.”

I will write a more detailed article concerning my personal technical preparation for the interviews, but here are some resources that might be useful to start with:

Photo by Roman Synkevych on Unsplash
  • Leetcode: a classic for all those that venture into the world of tech interviews, this webpage has hundreds of problems ranked easy to hard and organized by categories. The community is very helpful and there are solutions to all the problems I tried. I personally recommend the interview preparation selection, which is curated to cover the main topics for any regular interview. If you are preparing for a STEP internship, you should not need to practice problems beyond the hard category. Concentrate mainly on easy and medium.

Tip: I personally find no need to pay the premium subscription. You get everything you need from the free tier.

  • Algoexpert.io: This is the only service I paid for. Being totally new to the whole tech interview process, I needed someone to introduce me to this new world. I found the curated selection of problems in algoexpert to be extremely well thought out. Perhaps more importantly, Clement’s explanation videos for each problem provided me with a template to discuss my solutions with the interviewer, including topics such as data structures used and Big-O analysis. Overall, a small investment which is less than a year has ripped great fruits.
  • Interviews.school: This is another free resource, which I used towards the end of my preparation. It offers a curated selection of leetcode problems, with well-explained solutions. I used it mainly to review each topic before the day of the interview.

I calculated that I only needed to solve 1 or 2 problems a day to have around 200 problems under my belt by the time the interviews arrived. I soon built a habit out of it, and it became part of my daily routine. While many people spend 12 hours a day grinding leetcode on the week before the interview, I gained all the practice I needed without losing any sleep by just being consistent and perseverant.

Step 4: Apply Early

This may apply more to companies that process applications on a rolling basis, such as Google, but I believe it is beneficial for any tech company. Apply as early as you can.

Photo by Van Tay Media on Unsplash

I applied to the STEP internship the day the applications opened in Europe (around the end of October). This is crucial, I think far more important than many people realize. You are competing against thousands of other students, all of which probably have very similar CVs to yours. You want your CV to appear on a recruiter’s desk as soon as possible before it drowns in a sea of applications. While people are usually afraid of the interview stage, what they do not realize is that it is statistically more difficult to pass the initial CV screening than it is to pass the interview. If you do not work on this initial step, you will not get to the interview and beyond.

A lot has been talked about on how to write CVs and what you can do as a student to acquire experience to embellish your own and make it stand out among the rest. I will write an article specially dedicated to my personal approach to designing an internship-killer CV, but if I had to say it all in one sentence it would be: show your passion. Drive it through to the recruiter that you actually enjoy coding, that you are passionate about it, that it is something you do outside of school in your free time. Again, if you start early, it is not too complicated to add substance to your CV by:

  • Participating in coding competitions eg. Kick Start. You do not need to end first place. This shows that coding is something you enjoy and that you are willing to constantly improve your skills.
  • Personal projects: literally with any technology you are interested in. Build a webpage, make a game, write a Chrome app. Anything that shows you continuously develop your skills outside of the classroom. Host them on GitHub and add the links to your CV. It can really make all the difference.
  • Community building: Join local computer science clubs or tutor at your university’s coder dojo. This will show that you are an actual human being and not just sitting behind a screen all day. Non-tech-related hobbies or activities can also serve to show how you contribute to society as an individual, which is something that employers do value a lot.
  • Contributing to Open Source: While it may seem daunting at first, contributing to open source projects is extremely easy thanks to platforms such as GitHub, and it can be a very rewarding experience. You do not need to rewrite React.js or invent a new programming language. My first open source contributions were Spanish translations for the p5.js documentation. However, work in open source is extremely well-valued in tech companies. It proves to your recruiter that you can collaborate with a big team and write code that actually gets pushed and contributes to a live project being used by thousands if not millions.

I did all of these in varying degrees during the months preceding the start of the application process. Little by little, your CV will grow and will begin to get noticed.

As a final tip: do not underestimate LinkedIn. Many people in the biz have confirmed to me that most recruiters WILL look for you on LinkedIn. Make sure you have a profile, and that it is updated. Take it as your second CV. Again, the devil is in the detail. It can be the difference between your CV being tossed aside or going to the next step.

Step 5: The Interview

If you arrive are selected for an interview, congratulations! You are more than halfway through.

Photo by Christina @ wocintechchat.com on Unsplash

Candidates for a STEP internship have to go through two phone interviews of around 45 mins, often back-to-back. During the interviews, you will solve several problems concerning algorithms and data structures. Without going into details, since we are not allowed to discuss the actual problems we are given, I will say that the interview is well calibrated to the level students have after 1 or 2 years of computer science at the university level. As I said, it is really up to you to put the practice and dedication to ace the interviews with the resources mentioned above. However, aside from the technical preparation, there are several things you can do before and during the interview to highly increase your chances.

  1. Practice mock interviews: Many people get so caught in the technical preparation that they forget that you actually have to talk the interviewer through your thought process and solution. This is not nearly as easy as it sounds. It takes a lot of practice to talk while coding and to be able to clearly enunciate your ideas so that the interviewer understands what you are doing, especially if you are nervous due to the stakes of the situation and the time limit. This is why it is very important to do a couple of mock interviews before the actual ones. You can use websites such as Pram or just get a friend and practice with each other. Alumni of your university can also help you out a lot on this, especially if they themselves have gone through interviews and have experience in the process. They can give you priceless feedback.
  2. Talk to your interviewer: I cannot repeat it enough. You can solve the problem perfectly. If you are not able to connect with your interviewer and communicate to them your thought process, you will still flunk the interview. The interviewer is testing you on far more many levels than just your ability to solve a random problem in 45 minutes. The interviewer is trying to find out if you will be a good co-worker, if you are able to explain your ideas to other programmers, if you are able to accept feedback and apply it to your solution. I think that the best way to think about is to consider the interview as a collaborative process between you and your interviewer. You are solving a problem, but you are solving it with your buddy. If during the interview you get this connection with your interviewer, you are on a very good track.

The interview is a collaborative process

Again, if you got this far, you’ve gotten beyond the most difficult part, at least statistically speaking. Take a deep breath, and trust that all your preparation will get you to the other side of your interview. Your hard work will pay out! I promise.

Step 6: The Host Matching Stage

Photo by Arthur Osipyan on Unsplash

If you pass your interview, the final step to obtain the STEP internship is to be assigned to a host team and project. You do this by doing small non-technical interviews with different teams according to your preferences. While it is still technically possible to not be matched to a team, this is rare and depends a lot on you and how open you are to try out teams that you might not have heard about or were not initially interested in.

I was matched on my first interview with a team I really wanted to work on. I guess my only tip for this stage is to be open minded. There are many amazing teams at Google, many of them not known outside the company, and you will be doing real work in any team you chose. Do not limit your choices and your chances.

Final Thoughts

While this article is meant mainly for the Google STEP internship, many of the tips and lessons learned are applicable to any tech company. I hope this experience will be helpful and gives you some insight on how to achieve the internship of your dreams!

At time of publication, I have not yet started my STEP internship for summer 2021. I will keep you posted on my experience as the internship develops, plus many more application tips I had no time to discuss. So if you liked this article, please like and follow me for more pieces on tech internships!

Thank you!

--

--

Samuel Alarco

The sharing of ideas is the foundation of our civilization