PlaceKode with Gurpreet Singh, SWE Intern at Google, Remaster
Uthaan, the Journalism and Recreational Club of ABV-Indian Institute of Information Technology and Management Gwalior, is here with a new edition of PlaceKode. With us, we have Gurpreet Singh who is currently a SWE Intern at Google. He will be sharing his working experience at various internships, and advise on development, problem solving and academics.
First of all sir, congratulations on bagging an internship at Google! Our first question to you is, what was your interview process like with Google?
The interview process involves three rounds. The first is a coding round where you have to solve two questions on the HackerEarth platform. If you pass this round, you move on to two technical rounds.
Google primarily focuses on Data Structures and Algorithms (DSA) in these interviews; they don’t ask about your resume. Internally, Google shortlists students based on their CGPA, internship experiences, and resumes, and then they provide you with the interview link. I have seen cases where people completed both coding questions but still didn’t receive the interview link. I completed about 1.5 questions and still got the interview call, likely because of the resume shortlisting done by Google.
In the interview, they focus solely on DSA. In the first technical round, they try to frame or “trap” you by initially presenting a question as simple, only to change it later. This is typical of how Google conducts its interviews.
There are five basic criteria they assess:
- Good quality code.
- Correct logic.
- Debugging abilities.
- Communication skills (it’s important to convey your thoughts while coding rather than silently writing code).
- “Googliness” — this refers to your curiosity about problem-solving and your approach to tackling problems. It includes your ability to learn new skills, understand problems, and solve them in your own way, often in the most optimized manner given your skill set and constraints.
For your internship at Codepend, you have taken up Full stack, Cloud Computing as well as Devops related roles. Did you apply for this internship with this skillset or did you learn about them on the go as per the internship requirements?
For my first internship, I applied with my skill set in web development. The company onboarded me and monitored me for 10 days to assess if I could work in their environment, given that I had no prior experience. They then assigned me a project to build a website and gave me one month to complete it. Additionally, they asked me to prepare a report card on the project, promising to release my offer letter upon its completion. I completed the project in 7 days.
Following this, they shifted me to the next project, which was quite hectic, and I worked on it for the remaining 2 months of my internship period. During this time, I also worked on cloud computing and DevOps using Google Cloud Platform (GCP).
These internships often rely on your initial skill set — no data structures and algorithms (DSA) or advanced coding required. They expect you to learn as you code. For instance, they introduced me to concepts and gave me a week to learn and apply them, even though I had no prior knowledge of them. This is how internships typically function in these companies.
In contrast, structured internships at larger companies have a proper onboarding process, where interns are assigned mentors and go through a well-defined training period.
Your second internship at Remaster was your first hand-on experience as a Software developer in the industry. Can you share the highlights of this two year long internship?
I secured my second internship at Remaster through my friend Kailash, who joined the company before me. He participated in GSOC, and the company discovered him through LinkedIn and reached out to him. They asked if he knew anyone suitable for a frontend role, and he recommended me. I applied as a frontend engineer and was shortlisted from 10 to 15 resumes from my batch. Due to my prior internship experience, they onboarded me without an interview, stating they would monitor my performance to determine the most suitable role for me.
After working on some frontend projects for 3 to 4 months, I directly requested a shift to backend frameworks. During a company retreat, where developers go on a trip to discuss business plans for the coming year, they agreed to shift me from React JS to backend development. I thoroughly enjoyed working on the backend.
My technical stack included various technologies and tools. I worked on AI/ML tasks, deployed sites, and built several websites. One of my most interesting projects was a password-less authentication system, which I also presented at my college. This project was based on the principle of learning on the go.
Despite working continuously on internships, you have managed to maintain an excellent CGPA of 9.16 where students struggle to get even 8+. How did you manage to juggle academics with internship work?
There is no secret to it. I would study the night before the exam — that’s what I did. I didn’t believe in group studies before college. We were a group of 20 friends; first, I would study the PPTs/PDFs, then all 20 of us would sit in a room, discuss the material, and have fun. I believe in group studies and all-nighters, and I guess that’s what worked for me. Somehow, I managed to score a good CGPA.
You have explored niche domains like Blockchain developement and DevOps. What got you started in these domains?
My interest in blockchain development was sparked by a session hosted by Guna Sekhar Sir. My entire minor project in college was blockchain-based, which allowed me to delve deeper into the technology. At Remaster, the company extensively used blockchain to deploy smart contracts, furthering my understanding and experience in this domain.
As for DevOps, it’s a field I have always been eager to learn about and continue to be passionate about. My friend Ved Ratan was the first in our circle to dive into DevOps. He emphasized the importance of knowing everything about web development to automate and deploy websites effectively. Ved Ratan’s involvement in LFX motivated me to learn DevOps. I picked up various tools through my internships and experimented with DevOps, though I haven’t completed many projects in this area. It’s a field I’m very curious about and look forward to exploring further.
How did you begin your open source journey and how did Open source help you in your HackerRank interview?
HackerRank has a unique interview process. As a platform known for coding, I expected coding questions, but they didn’t ask any. Instead, they focus on open source and development experience. They don’t hire based solely on one’s raw coding profiles, such as CodeChef or similar platforms.
I had some open source experience as I was aiming for LFX at the time. I had already contributed to several repositories. The interview was with the CTO (Mr. Harishankaran K), who manually checks and shortlists resumes. We had a relaxed conversation about my resume, internship experiences, and open source contributions. He was particularly impressed that I applied my knowledge of Data Structures and Algorithms (DSA) in open source projects. For example, I solved a problem related to dynamic programming by implementing an edit distance algorithm in one of my scripts, which I mentioned during the interview. He showed great interest in my projects.
The CTO was someone who valued diverse experiences. He had been a student, worked at IBM for a while, and then started his own company with a friend. After this discussion, I went through an HR round, where we had another casual talk and even discussed our shared interest in cats. The HR wanted to confirm my availability for a six-month internship from the college’s perspective and seemed eager to onboard me.
The next round was with a technical expert, focusing on my resume, internship experiences, and detailed explanations of my work. We also had a personal conversation about his work experience and background. I successfully cleared the interview at HackerRank, but around the same time, I received an offer from Google and decided to join Google instead.
How did you end up contributing to Layer5 and how should beginners find good organizations to contribute to?
Before applying for LFX or any open source project, it’s crucial to find a repository that aligns well with your interests and skills. My experience with Layer5, for example, was mixed. I aimed for an LFX internship but didn’t get it, though I did gain valuable experience working on CLI tools and loggers — areas I was unfamiliar with before. The work I did during my internships differed from my open-source contributions; although I worked in Golang, it involved building tools like CLIs rather than APIs.
At that time, Layer5 and their subsidiary, Meshery, were focused on a mesh map product, which was primarily frontend work. Since I wasn’t interested in frontend development, I shifted my focus to my internship instead. This experience taught me that finding a repository that matches your profile and interests is essential. Even if you’re proficient in a specific language like C++ or Rust, the nature of the work matters more. If you don’t enjoy the projects or the technology stack, you’re unlikely to be consistent, which can impact opportunities like pre-placement offers (PPOs) or internships at the company.
If someone has completed an LFX or GSoC project, they shouldn’t start contributing to the same repository just because they have experience there. For example, if you specialize in Golang and I completed contributions for a Python foundation, leading to a GSoC opportunity, you might be tempted to contribute to that same repo. However, if you find that you don’t enjoy the repository, the work, or the working culture, it could be counterproductive. Your ultimate goal should be to secure a job that aligns with your interests and skills, not just to achieve GSoC or LFX. To get a job at a company, you should genuinely like the work you do there.
So do consider what your technical stack is and then find the repo — not the other way around that if someone has cracked GSoC there so I’ll be able to crack it. Yes, you’ll be able to crack it, but you won’t be liking the work there. So that’s my perspective about it.
In college everyone wants their holistic development and for this joining clubs and societies is an obvious step which everyone takes. What are your thoughts on this?
Joining clubs is great; you should join clubs. Clubs are a way to get to know your seniors in a better way. You get a chance to sit in their rooms and talk about what the college offers. You should join clubs that align with your ideology. From my perspective, the purpose of joining these clubs is to build a network. You may end up doing some things you don’t like, but it’s a great opportunity to build your network.
Our next question to you is: What next!? Like what are your future Plans, What you aiming for next? Where do you want to see yourself 10 years down the line?
It’s all about money and stability in life. When we were kids, we all dreamt of being astronauts but ended up pursuing computer science for financial reasons. So, I don’t have many plans as of now — I’m kind of going with the flow. I mostly won’t be pursuing managerial roles and will stick to technical work… but who knows? I might end up being a CEO of a company.
As you’re approaching your graduation, would you like to give any one piece of advice for your juniors who admire you?
My advice is to enjoy your time here with friends, have good trips together, and don’t get too stressed by trying to do too many things. There will be low times in your life, which I have experienced as well. In the end, you’ll remember the memories and good times, not the hustle. So, try not to skip trips with your friends. However, also try not to ignore your academics completely and aim to balance both aspects of your college experience.
Interviewed by Krishi Agrawal and Shreyansh Pagariya
Transcripted by Kushagra Agrawal, Shrey Gupta, Kshitij Dhamanikar and Kakarlapudi Narain Verma
Co-ordinated by Ayush Jha
Check out Gurpreet Singh’s Medium profile here.