IIT Kanpur had always been my dream college, ever since I was 10 and first saw IITK while dropping off my brother, who had just started his B. Tech at IITK. In 2014, that dream came true when I myself cleared the JEE and joined IIT Kanpur. The major I chose was Chemical Engineering, like most IIT aspirants who choose a discipline based on their rank.
I was first exposed to computer science in my first year at IITK — through the introductory course on computer science, *informal coding contests, and hackathons* that I participated in for fun.
I realized how much I enjoyed the logical reasoning and math that went into writing code.
Through speaking to seniors, I learned that the opportunities the discipline offered were tremendous and that it was possible to change my branch to computer science. The only catch was that it required a perfect 10 CGPA in the first year, given the discipline's popularity amongst undergrads, despite IITK having one of the most liberal branch change policies.
Nevertheless, I decided to focus on academics in my first year and move to a discipline that would give me more exposure to coding. With some discipline and effort, I luckily scored a 10 pointer in the first semester. This became a turning point for me. Encouraged by the partial victory, I put in real effort in the second semester and met my goal of a perfect CGPA.
My love, interest, and desire made me mad to get this, and finally, I changed my major to Computer Science.
Starting my second year in computer science, unlike most of my department mates who had spent the first year exploring the discipline, I was fairly new to the field has focused on interdisciplinary first-year academics to make my branch change happen. Coursework in the department consisted both of CS theory and practical courses, but my major aim was to master the basics and learn the practicality of any theory.
In India, Google offers an internship program for female students in their first or second year of study. I was looking for an internship in my second year's summers and heard about the Google STEP internship.
I applied for it and started preparation only after hearing about the opportunity. Having never been into competitive coding, I had to study DS and algos from scratch in a short span of time.
A strong grasp of basic algorithms and data structures is key. I would pick specific data structures, understand the basics from course material or online sources first, and then practice problems I found online on their applications. I made sure I solved the problems fully rather than writing pseudocode to practice speed and syntax.
After a month of preparation and three interviews, I was the only student from my batch to be offered the internship. From my experience, I noted two important points,
My second-year summers at Google were spent working alongside and learning from the brightest of engineers.
Based on the evaluation of my work, I was offered a return internship for my third year.
I gladly accepted!
Freed of the pressure of sitting through internship season, I spent my third year exploring disciplines with computer science. I picked two areas in which I felt that the future in these areas are bright, namely \
I found backend dev to be the most interesting and decided to join the industry after my undergrad. With an internship at google already in the pipeline, it was a great entry point for a career in the industry to turn it into a full-time offer.
My second summer at google (third-year internship) was spent working with much more seriousness while simultaneously preparing for the PPO interviews at the end of the internship. It culminated with a PPO (Pre-Placement Offer) to return to Google as a full-time employee.
It is important to explore different areas within CS to identify your interest. I liked coding but did not know what I could make a career out of Research / Dev work System architecture?
I knew I would not enjoy a career in research, and an internship would provide just the right opportunity to figure out between the others.