My B.Tech at Ahmedabad University #UniversityExperience #BlogsWithCC

I recently completed by B.Tech in Information and Communication Technology. I entered university with almost no background in programming or computer science. I had lost my confidence because of poor performance in most entrance examinations, including JEE.

Things went much better than I thought though. Below is the highlight of my journey:

  • A job offer from Google, Goldman Sachs and a fast growing startup.
  • Two internships at Goldman Sachs and one at another startup
  • Invited speaker at over 15 events
  • Two victories at hackathons
  • Decent stats in competitive programming (Expert on CodeForces, 5-stars on CodeChef)
  • A research paper (under review)
  • Gold Medal 🥇

image.png

I am doing down the memory lane as I look back at my journey. If you'd have asked me four years ago if all these would be possibly done by me, I'd have straight away denied.

If you are a university student, I hope you have something to take away from this blog.

How I landed at Ahmedabad?

There are two decisions I took which I owe a lot of my success to:

  • Choosing computer science (Well, "Information and Communication Technology", but its pretty much the same)
  • Choosing an institute which gave me access to great education (through faculties, resources, people)

It is funny that these decisions had a greater impact in my trajectory than all my efforts combined.

What you choose to work on, and who you choose to work with, are far more important than how hard you work.

— Naval (@naval) June 3, 2016

Computer science opens a ton of opportunities. I do not think presently there's another career stream that offers the same level of options, flexibility and meaning to work. No wonder the smartest people in the world today are in this field.

So, how did an institute which people probably haven't even heard of matter so much?

I did not have a very good JEE rank. But, I was hopeful I would make it to Ahmedabad University, since it was still young (not even 10 years old back then) and not many people knew about it. I knew for sure it had great education and perhaps was the best choice given my rank.

I chose Ahmedabad University by following advice from Prof. Dheeraj Sanghi's blogs. He was at that time a professor of computer science at IIT Kanpur. His thoughts inspired me to prioritise faculty quality, infrastructure and leadership over anything else. Ahmedabad's education is close to what students receive in Tier-1 colleges of our country.

image.png

Fun fact: I was offered BTech + MS Biology at BITS Pilani, Hyderabad in their final round of counselling. But I chose not to go. I am not sure if it was the correct decision, but I am satisfied with my experience.

At the same time, I was blessed to have like minded folks around me, who prioritised good education and potentially left places with "better placements" to come here. I met some really smart people, and I learned a lot from them. I owe a lot of my success to that.

In case you are curious, you should definitely check out the present age private universities of our country. (Ashoka, Shiv Nadar, OP Jindal, Plaksha, Ahmedabad and the likes) They are growing fast and doing really well!

Competitive Programming

I was introduced to competitive programming in my first semester (pretty early!). My seniors were kind enough (God bless them!) to organise a 3 day workshop to introduce us to this field. I was hooked. It was so much different (and challenging) from the programming assignments I did in college.

After a point, I stopped enjoying it, as it got harder. But fortunately, my friends kept excelling, and it pushed me to continue.

It was Semester 4, we were just at home because of COVID outbreak, and I managed to become Expert on CodeForces and 5-stars on CodeChef around the same time. This is what I was aiming for since a long long time.

image.png

image.png

I did not have a lot of idea about how competitive programming helps in placements. At that time there were not a lot of LinkedIn influencers or YouTubers who created content on this topic. But I knew for sure that this was a major time drain, and I wanted to learn about other things as well. I knew people in my class who were building interesting things.

I also knew that journey from Expert to Candidate Master is where things get very challenging. I couldn't convince myself if the effort was worth it.

Hence, I decided to give CP a break (and never came back to it, lol).

Internships

CuratePad

I got a chance to intern at a startup called CuratePad (It does not exist anymore unfortunately). A senior of mine knew a co-founder. He was kind enough to ask me if I wanted to give it a shot. One fine evening I got a call from the co-founder which was also my interview (I did not know that would be the case). I was offered the internship to help build their backend from scratch.

I did not apply elsewhere because:

  • COVID was just here. Market was shook.
  • I had a research commitment I was focused on (more on that later)
  • I did not think I was prepared.

I used Django REST Framework to build their backend. As someone who had only done toy projects, this helped me learn about different stages entire software development lifecycle.

I am indebted to my senior (Pratik Padalia, if you are reading this!). As I realised later, I was dumb to self-reject myself and not apply anywhere. Having an internship in my second year itself gave me a lot of much needed exposure.

Goldman Sachs

I had a fair idea of the internship opportunities offered on my campus. I aimed much higher than that.

I had started applying for internships from my semester 5 itself. I had seen some of my seniors disappointed due to lack of exposure. I did not want to repeat those mistakes.

Every day towards the end of my day, I would spend at least an hour applying to various companies.

Goldman Sachs was the first company I applied to. I applied to more than 100 companies after that. The process ended by November 2020, and I made through all the rounds - aptitude test, CS fundamentals round (this one had coding) and three interviews.

image.png

I had zero expectations from myself, but perhaps what worked for me was a mix of things. I was really good at aptitude tests because I used to participate in Olympiads in school (not the government ones!). The amount of competitive programming I had done seemed enough, and I really did my acads well to help with the rest of it (More on that coming ahead!)

Fun fact: Later, I learned that I was the first off-campus hire made by Goldman Sachs. That year was their first launch of their off-campus hiring programme. They published my words of feedback in their internal blog as a testimonial.

Fun fact 2: I was offered a part time internship during my semester 5 by another startup. I gave it up because it'd mean that I wouldn't be able to prepare for internships at larger companies. I am glad I made that choice!

I ended up interning twice, and grabbing that PPO! I learned a lot (a real lot!), met very smart people and gained amazing exposure. My internships at Goldman Sachs were perhaps the most memorable part of my undergrad life.

Hackathons

I started participating in hackathons really late. I had good experience in development through projects and internships, but I never built things in a time constrained environment. I did participate in a couple of them, and managed to win a prize in both.

Hackathons are helpful because of several reasons:

  • You learn a lot in a short span of time.
  • You learn to manage your time and a team.
  • You build connections and reputation.
  • You get points for your resume. People will trust your expertise if you have done well in a popular hackathon.

Having a good team is really important. I was lucky to have smart friends who trusted me to be worthy of becoming their teammate. I learned a lot in both the hackathons I participated, and I wish I had done more of that.

Academics (yes, seriously!)

I was really serious about academics from day one. I topped my batch every semester, often with a large margin. I closed with a CGPA of 3.94/4 (which is 9.85/10). This is considered a great score at my university because grading is relative and evaluation is challenging.

Why I think it worked out for me?

  • I came to this university as a "failure" in my head. I felt that people around are smarter than me and I need to work really hard to even be in top 10.
  • We had amazing professors who sparked my interests in the subject.
  • We had access to really good resources (high speed internet, well equipped library, access to most research publishers, smart peers, helpful professors).
  • I did not have access to proper coaching during my JEE days and hence I had this practice of self-learning and absorbing information from multiple resources. Most people found the transition from school to college difficult.

How did it benefit me?

  • I had strong CS fundamentals which helped me everywhere. I have studied all my CS fundamentals including DSA in my classes itself. I never really did placement preparation apart from a bunch of LeetCode questions.
  • I had very strong relations with my professors whose guidance helped shape my perspective. They genuinely rooted for me and they wanted to see me grow.
  • I cleared the CGPA cutoffs of every company.
  • I will get a gold medal. xD

Projects

We were required to make projects in most of our courses. I used to pick projects with a larger scope so that I could mention them on my CV as well.

In my current resume, I have listed projects from these courses: Distributed Systems, Machine Learning, Software Engineering, Operating Systems.

I picked challenging projects and tried to work with the smartest people of my batch.

I believe that investing good time my projects has helped me learn a lot. Apart from that it gave me an edge in getting shortlisted, asking for a referral or just talking points in interviews.

I remember talking about my operating systems project, which was an open-source contribution in my last GS interview which was taken by a Managing Director. I have talked about my Distributed Systems project, where we implemented Raft consensus protocol in a couple of startup interviews. My Software Engineering project gave me a lot of points to talk about in my "Googleyness and Leadership" rounds at Google. Now you get it?

When I see resumes from people asking for referrals, I see pretty much similar projects done by everyone. If you can make great projects, you will stand out (and of course, learn a lot!)

If you want to know more about my projects, you can check out my personal website.

Communities!

Participating and eventually leading

My journey with communities began when one of my seniors invited me to join the newly established CodeChef Campus Chapter of my college. I kept continuing, and eventually became:

  • The first Google Developer Student Club lead of my college
  • President of the CodeChef Campus Chapter
  • Secretary of the Programming Club

What kept me motivated was the joy of organising events, but soon I realised that this had a lot of benefits as well. I built a lot of connections within my University and outside. My network helped me in many ways both directly and indirectly. Most importantly, it gave me the much needed exposure and peer learning.

If you are from a so-called Tier-3 college, it is very helpful to find your inner "mastermind circle". You might be lucky to have them around you, but in most cases you'd have to seek them yourself. Community events are a great opportunity to find such people.

From inviting speakers to becoming one

Once I grabbed an internship offer from Goldman Sachs, I attracted speaker opportunities myself. I was in touch with other Google DSC leads as well as CodeChef Campus Chapter presidents. Some of them invited me for sessions in their colleges. I was also very active on LinkedIn so people would reach out there as well.

In 2021 I was invited to more than 12 events, mostly around competitive programming, DSA and getting off-campus internships/placements. I have maintained a YouTube playlist of the sessions I was able to record here.

Below is one of my personal favourite sessions on off-campus placements which I took at PEC Chandigarh recently:

I was also invited for a podcast by HackerEarth. They published it but now they have taken down the whole series unfortunately.

I thoroughly enjoyed taking these sessions. I was blessed to have audience participation of over 100 live attendees in several of these.

LinkedIn Content Creation

I started writing on LinkedIn by talking about my achievements. This was one of the posts that I made which did well (and what led to me being invited on a podcast at HackerEarth):

I eventually realised the potential of this platform. I started sharing about my experiences and learnings. It is easy to grow on LinkedIn if you can provide value. Why would you want to do that? Well, a strong LinkedIn profile helps you get noticed, at the very least. Below is a helpful read by Aditya, who is a LinkedIn top voice:

If you think you do not have smart people around you, you can compensate for that by building a strong network on LinkedIn. It also helps you market your work better and get noticed. I have met really smart people on the platform who have helped me through guidance as well as opportunities.

Tryst with Research

Not many of you would perhaps be interested in this section, but it consumed a big portion of my undergrad and hence it deserves to be here.

I pursued research because I was interested in pursuing Masters abroad. I dropped that idea after lot of thinking and talking with people. By the time I dropped the idea, I had reached too far in my research activity to leave it.

I worked on a problem statement in one of my University professor's research area. He has an excellent research record and collaborations with reputed foreign authors. The hard part here was surviving the grind of understanding dense papers, and trying to find that sweet spot where you can make a contribution. Once I had that, I received a lot of support to convert the idea to a sharp manuscript. It was a painful process, and I am not sure if I have gained much out of it. It gave me the confidence needed to read and understand research papers, which is helpful in some ways if you want to learn some concepts deeply.

image.png

I submitted the paper one year ago to a reputed journal, and it is still going rounds of reviews. The fact that it has survived for a year in the cycle is a proud achievement in itself for me. (the h5-index of the journal is over 120!)

If you are interested, you can check out the pre-published version here: Optimal 3GPP Fairness Parameters in 5G NR Unlicensed (NR-U) and WiFi Coexistence

How I made it to Google!

It was January 2022. I was on a three-week break as I awaited my second internship at Goldman Sachs to begin. On January 13 I received a call from a recruiter from Google if I'd be interested in going through their interviews. I had not practiced Data Structures and Algorithms since one year as I was convinced to join Goldman Sachs (and I had a return offer from them to join full time).

I coordinated with my recruiter to take things slow. I would give an interview every week, take feedback the next day and tune my preparation accordingly. Once my internship started, I would work during the day and prepare for the interviews at night. Those few weeks were very stressful, but I was able to clear all the rounds with strong feedback.

image.png

What probably worked for getting a shortlist was my previous internship at Goldman Sachs (brand names work really well) and a well-maintained LinkedIn profile. For the interviews, mock interviews paid huge dividends. I wrote a Twitter thread about the same:

Career update: Joining @Google as a Software Engineer next week!

Here's a little something that is not talked about enough, and might help you.

🧵

— Yashraj Kakkad (@KakkadYashraj) June 27, 2022

Where's the fun?

You might wonder if my college life was full of working. Sure, I did work really hard especially in the first two years. But later on, I realised the importance of having fun and making memories.

I participated in a lot of college events, had fun with friends and even went for a Goa trip towards the end! I tried a bunch of things ranging from debates to standup comedy!

What could I have done better?

Open source contributions

I used to think that open source is really ambitious and I cannot try it. By the time I realised otherwise, it was too late as I had plenty of other commitments. I think open source contributions are an amazing investment of time as an undergrad. You learn a lot really quick, you get confidence, you learn how to navigate huge codebases and you get insane opportunities!

I have always been in awe of people who leveraged open source to build amazing careers for themselves.

More competitions and hackathons

I shied away from hackathons in the beginning. I believe I should have done more of that as it would have increased my breadth of knowledge.

I was always afraid of losing in competitions. This meant I did not push myself beyond my comfort zone.

Better Exposure

After COVID there has been a surge of content creators on LinkedIn, Twitter and YouTube with advice dedicated towards college students. This has made me realize that I could have made lesser mistakes if I had sought mentorship and guidance early on in my career.

I spent a lot of time digging the wrong rabbit holes. I wish I avoided some of them.

Bottom line

I had to keep some sections short to not make the article too long. I'd hopefully write more blogs or threads dedicated to individual sections in the future.

#BlogsWithCC #UniversityExperience