Google STEP Internship (Student Training in Engineering Program) is a 12-week internship for first- and second-year undergraduate students with a passion for computer science or related fields.
While known for its application process's competitiveness, Google STEP Internship provides an excellent opportunity to gain on-the-job experience and apply all the intricacies of computer science and software engineering learned at school.
At Levels.fyi, we have useful tips to help you stand out in the application process. We'll delve into everything you need to know to become successful as a Google intern.
What is Google STEP Internship?
Google STEP Internship is a 12-week internship program for students in the first- and second-year of their undergraduate programs in computer science or a related field.
As a part of this unique program, you will work on a real software project in one of the specific country locations together with fellow STEP interns and full-time Google employees.
In addition to offering students an opportunity to bridge the gap between practical work experience and academic knowledge, the STEP program aims to provide development opportunities to students traditionally underrepresented in the tech field.
Benefits of Doing Google STEP Internship
Whether you are studying computer science, computer engineering, software engineering, or cybersecurity, STEP is a great way to spend your summer break gaining valuable work experience, advancing your professional knowledge, and making some money.
Here is what you can expect to get out of your Google STEP Internship:
- A technical project. You will be assigned a challenging technical project, which will allow you to develop your solutions and gain exposure to immense complexity and scale.
- Professional skills. You will apply academic knowledge to real-life problems and learn new tools and programming languages to enhance your coding skills.
- Technical talks. You will have the opportunity to attend technical talks by Googlers, learn about Google's coding technologies and practices, and gain additional technical interview preparation insights.
- Coaching and mentorship. The company will match you with a Google engineer, who will coach, mentor, and guide you through your internship experience.
- Networking. You will have a chance to create new friendships and build personal networks with a diverse group of students and industry professionals.
Minimum Qualifications
Google STEP Internship might be a good fit for you if:
- You are a first- or second-year Bachelor's student studying Computer Science or a related field.
- You are currently attending a university in North America.
- If you are a first-year student, you have taken at least one university computer science course (IB or AP included). If you are a second-year student, you have taken two.
- You have programming experience in Java, JavaScript, C, C++, or Python.
Preferred Qualifications
While the following qualifications are not required, they will give you an edge during the application process:
- You are available to complete a full-time 12-week internship either in May-August or June-September.
- You will be returning to a Bachelor's program for a minimum of two more years after completing the internship.
- You can speak and write in English fluently.
- You have programming experience outside of the university.
- You have the ability and desire to learn other programming languages as needed.
Application Process: What to Expect
Google STEP Internship is designed specifically for students in their first two years of a university degree. It is geared towards applicants who have no working experience but are willing to learn quickly on-the-job and discover new programming languages.
If you are interested in applying for Google STEP Internship, here is what you can expect:
1. Getting Discovered
The first and most challenging part of the application process is getting discovered. You have a few ways of doing so:
- University career fair. You can meet Google's recruiters when they visit your campus and get shortlisted through the university.
- Coding competitions. You can get discovered by Google through participation in one of their numerous coding competitions, such as Hash Code, Code Jam, or Kick Start.
- A Referral. If you don't know any Google employees who could give you a referral, you can show initiative by using LinkedIn to find a few Googlers in your area. Ask them if they could have lunch with you and answer a few questions about working at Google.
You can always apply directly through the Google website, but getting discovered gives you more chances of moving on to the next step.
2. Resume and Transcripts
After you get discovered, Google will request your resume and transcripts. Here, academic performance does play a role, but the overall profile of the candidate is evaluated.
Here are some crucial points to include in your resume:
- Highlight applicable skills that are relevant to the minimum and preferred qualifications.
- Make sure to include your previous technical positions or internship experiences held within or outside of the university.
- Use the STAR method in framing your resume. This framework allows you to show the value of your past experiences and your potential to the Google recruiter.
- Include academic and personal projects and coding competitions, as it will help show your practical knowledge and boost your profile.
- Describe your programming experience, relevant coursework, and honors or awards you have received.
In terms of formatting, follow these guidelines:
- Submit your resume as a single-page PDF document.
- Use bullet points and a consistent style.
- Make sure to include your updated contact information.
- You don't need to list references.
3. Technical Interviews
The next step includes two technical interviews, approximately 45 minutes in length with a 15-minute break in between. These interviews' main goal is to find people who can think critically and solve problems, rather than have skills in a specific programming language.
Usually, these interviews are done over the phone, and you will have an opportunity to code some of your answers in a shared Google Doc. Each interview consists of 1 or 2 Algorithm or Data Structures questions. To prepare for the technical interviews, you should review and study the following topics:
- Strings
- Searching and sorting
- Dynamic programming
- Greedy: job scheduling, activity selection, etc.
- Graphs: Shortest Paths (Bellman-Ford, Dijkstra), Topological Sort, Traversal (DFS, BFS)
4. Sample Questions
Here are a few sample questions you can expect to see at your technical interview:
- Given a string, find the minimum number of cuts to split it so that all the resulting substrings are palindromes.
- A boolean expression is given in the form of a string. It contains one variable x; logical operators – 'and', 'or' and relational operators – '>', '< '(there is no >= or <=). Find if the expression always evaluates to False. If yes, output False, otherwise if there is at least one x, the given expression can be true, output true.
- Write a function to detect if a string containing parentheses is balanced.
- Find the index of the maximum value of an array of length N. The first K elements of the array are sorted in increasing value, and the last N-K elements are sorted in decreasing value.
5. Host-Matching Interviews
In Google culture, there are no such words as "boss" or "supervisor." Instead, you will be mentored and guided through the internship by your "host."
Suppose you are successful at your technical interviews. In that case, you will be asked to fill out a special questionnaire to detail your programming experience and describe whether you have any programming language preferences.
Then, your profile with all the relevant information, such as your resume, the questionnaire, and interview feedback, will be added to the candidate pool during the host-matching process. Potential hosts will have access to the pool and decide whether they want to interview you to become a part of their team.
A host-matching interview is not technical. In contrast, it is designed purely to see whether you would be a good fit for the team. The process of being matched with a host can last for over two months, and most successful candidates will end up having several interviews before they get an offer.
After the host-matching interviews are completed, you can expect a job offer and an exciting summer full of new experiences and endless learning opportunities!
Use Interview Tips and Resources from Levels.fyi to Enhance Your Career
There is no doubt that the Google STEP internship is a great way to jumpstart your career in the computer science field, gain some hands-on experience, travel the world, have fun, and meet new people.
And while the application process may seem tedious and competitive, don't stress: spend some time polishing your programming skills and reviewing the interview tips from Levels.fyi. And when it comes to negotiating your job offer, don't forget to use our salary negotiation services to receive the best offer possible.