Among all the internships that Google offers, Software Engineering internship is the favorite and have more number of openings. Given below is the list of qualifications that Google seeks in their prospective interns,
- Experience in systems software or algorithms
- Excellent implementation skills (C++, Java, Python)
- Knowledge of Unix/Linux or Windows environment and APIs
- Familiarity with TCP/IP and network programming
These are their preferred qualifications, and you need to make sure that you do indeed qualify. Have a look at.
To get the internship, the first step should be making sure that you do get an interview. More than 50k apply for Google every summer, and only about 25k get the first interview. So you need to make sure that you get that first interview. Its not easy as it sounds. When you submit your application, you need three things: resume, cover letter and transcript.
Google needs transcript because they do look at how you have done in your CS subjects. If you are not a CS student, make sure that you do some CS courses, be it in your university or through Coursera, Edx or similar sites. Its better to have good scores in these subjects. Low scorers doesn’t mean they don’t have the required knowledge. Its just that high scorers simply had put in the effort and hence probably are hard workers.
In the cover letter, write why you are suitable for the internship. Have a look at the qualifications, and make your cover letter accordingly. Say for example, they need people proficient with TCP/IP and networking, make a networking app like a simple HTTP server, a port scanner or something similar.
In the resume, you need to have something worth looking at. At Google, candidate selection is done through various stages. Only if you pass all those stages shall you get the first interview. The best way is through employee referrals. If you know someone who works at Google and can refer you, your chances of getting that interview is very much improved.
Make sure you do some personal projects. Contribute to open source. Mastering the basics of Python is an easy task. Learn Tkinter or some other GUI based libraries and make some GUI apps. Host it on Github. Continue making more projects.
Once you get the first interview, then all that matters is how you perform in the interview. You need to be thorough with data structures and algorithms. Study from CLRS and other algorithms book. Implement them in your language of choice. Start competitive programming.