About the Author: Mayank Bhura is a graduate from NIT Karnataka and works as a software engineer at Google, Hyderabad. He shares insightful details about his journey of becoming a Googler.
It all started with my first internship, just after the first year, at the Variable Energy Cyclotron Center, Kolkata. I got this internship via my father’s friend, who is one of the chief scientists at VECC. He was kind enough to recommend me to one of the best computer scientists at the institute. I learned under him for 2 months on GPGPU computing and gained a lot of experience in coding and computer architecture during the internship. It is not usually the case for students just done with their first year and so I got a good start. Also, as the project that I completed was a fairly complex one, it did help me in getting my next internship.
After some time, I got an amazing work-from-home internship at HealthLucid through college. My work focused mainly on web crawling. Apart from the tech stuff, I also learned a lot of things like working in a team and gained the real-time experience of coding in a startup environment.
I took a big leap right after the third year and emailed an HR personnel at Google, asking for a software engineering internship. He liked my resume and 2 rounds of interviews were held, after which I was selected. Preparation wise, I had mainly done 2 internships (VECC and HealthLucid), some personal projects, and competitive programming on sites like CodeChef, Codeforces, Hackerrank, and TopCoder. I also participated in various programming contests like International Collegiate Programming Contest (ICPC) Regionals of 2014 and my team ranked 13th and 18th in it. I personally believe competitive programming to be the biggest factor in bagging an internship at Google. We used to code day and night, which provided us with a pretty good knowledge base on data structures and algorithms, as well as proficiency in the programming languages. This was super helpful during the interviews.
Coming to the internship experience, life at Google is in one word – awesome! I got to work with a lot of smart people. In the beginning, I doubted if I really belonged there, but it was just a phase and I slowly got the hang of it. Even for an intern, there are so many perks at Google that you want to work for the company out of guilt. I was given projects that could have a real impact. A real end-to-end project like that is very enlightening and makes you do things you didn’t know you could do. You evolve during that period, and my experience was no different. Even as a full-time employee now, I come across many wonderful things that were actually intern-projects!
I was treated just like a team member – being part of the team meetings, discussing my project with the members of the team, conveying the progress across sites to the senior members, going on outings together, and whatnot. People were very helpful throughout the internship. Even though I enjoyed a lot, I wanted to get a pre-placement offer, and so it was a very focused period for me. Sometimes, after a long day of work, we used to sleep in the dormitories itself, at Google. I used to remind myself that it’s a once in a lifetime chance and that I won’t miss it.
Many students get confused about the things that they need to do for getting an internship at Google, and so for technical roles, I would like to share these tips from my personal experience:
- Focus on algorithms, data structures, and OOP: Algorithms and data structures are the most important things. All the interviews focus on these and require you to have in-depth knowledge. Competitive programming is a good way to achieve this.
- Start building your resume: Aim to develop a good and crisp resume. Browse resumes online, do projects, internships, or get publications.
- Getting distracted is ok: Students see so many different fields in which one could work, in Computer Science itself. It is common to get distracted, but remember to narrow down those choices and focus on what you like.
- Prepare smartly during placement season: Different companies usually have different, but specific areas in which they focus in their interview and screening rounds. Look at previous questions on websites like GeeksforGeeks, CareerCup, etc. and understand the areas the company is focusing on.
- Maintain a decent GPA: You don’t always need to be a topper, but maintaining a decent GPA is important to clear cutoffs for placement. So don’t take your assignments and projects lightly.
- Don’t hesitate to reach out to people: Reaching out to people can be very impactful. Referrals, mentorships, mock interviews, contacts, and tips are few of the many things that you can reach out to your seniors for. Never hesitate to communicate with people, however random it may be.
- Try to get real life experience: Internships teach you what kind of work you will be doing after you get a job. It taught me how the code should be written, how APIs are written and used, why documentation is so important, how the design process works, etc. Companies look for people who can write production code, and if you know some of the integrities beforehand, it helps.
I also thank my parents, Manoj and Suman Bhura, for my success as without their dedication, I would be nothing today. My father instilled the importance of focus, studies, and planning in me. My mother gave all the moral support that I needed and took care of my well being while I was studying. I am only the product of my parents’ sacrifices.
Tip: Follow this complete guide on how to prepare for an internship at Google.
Inspired by Mayank’s journey? Apply to these cool computer science internships and get started!