From so many days (since early 2020) I have been feeling uneasy about what I am doing and where I am heading. To make my thoughts more clear I wanted to pen down my journey so far, how I reached Google and what motivated me to do so.
From my childhood days I have been dreaming to be an awesome engineer who solves the hardest problems on Earth and is well known or world renowned for that. An engineer who is called to solve the most difficult problems. My primary interest during school days was in planes and cars and was thus motivated to do Aerospace or Mechanical Engineering. This looks and sounds all rosy but I lacked a few basic things; I lacked conviction, courage and more importantly perseverance. Procrastination was a big problem (even so till now). I would start studying something which looks interesting and would lose interest very quickly when things reach an unknown or when I got distracted to do something else. Basically jumping from cool thing to cool thing but never fully committing to anything. This was really problematic as I would not study all subjects for engineering entrance exams and only study Physics (which was my favorite subject). I would solve a cool Physics question and feel happy about my abilities.
You can guess with such attitude I would not get the best possible results, but still managed to be in top 1 percentiles in all tests. The engineering entrance exams time was the most horrible and scary period of my life. Deep down I knew I am not studying, but still would not study the subjects which I didn't enjoy. I had not touched so much of Maths and Chemistry syllabus that it was scary. I would make a plan every day laying out what I have to do in the next 2 months and then would not follow through the next day. The exam dates kept coming closer: 2 months, 1 month, 2 weeks, 1 week, 3 days, 1 day; Still making plan to complete the whole syllabus in the remaining time but then not doing it the next day. This caused a lot of fear and anxiety to the point I would break down every day into tears and worry what would happen. My mom was a big support pillar at that time and would tell me to not worry and do your best. But deep down I knew I was not prepared to the my full potentials (which I considered to be very high).
I will tell the story of how I decided to join B.Tech ECE at IIIT Hyderabad in some other post, but it was one hell of a depressing decision between Mechanical Engineering at IT-BHU vs ECE at IIIT-H. But looking back I could not have wished for anything else but to chose IIIT-H. One of the best decisions taken almost on a coin toss.
I somehow reached IIIT-H. I had a deep interest in technology and would be curious about almost anything: from web development, making robots to learning C programming. But the same problems existed, no conviction, commitment or perseverance to do one thing and do it the best. I was jack of all trades. I would be semi-good at sports, cultural activities, studies but not best at any. At the end of the degree I also got 2nd prize for best all-rounder of the batch. All rounder, but that too second best :D.
I had not clue what I wanted in career or what to do after the degree. In 3rd year I joined the rat race to study for CAT entrance exam (for MBA in India) without any fundamental desire to do so. Just following what my closest friends were doing. I had an interest in Computer Science but I was studying Electronics and Communication. So to satisfy my inner Computer Scientist I did most of the fundamental Computer Science course and also entry level courses of ECE, basically not focused on any one in particular. I graduated with a very cool CGPA (8.96) and landed a job as entry level hardware engineer at both Nvidia and Qualcomm. I joined Qualcomm because they were paying 1 lac per annum more, LOL.
Started working from July 2012. I was working clueless, trying to do software development projects in a team of mostly hardware engineers. I just made code for anything people were doing manually. I wrote a Java Swing app to do thermal monitoring and throttling of a phone under a stress test. My peers used to get amazed seeing me apply code to things they would do manually. But it was not really solving anything at scale or fulfilling my childhood dream to be that awesome engineer solving world's hardest problems. My most difficult project was to write a small stress test code in assembly language using the instructions that consumed maximum power and running them in loop, or unroll the loop to minimize branch prediction overhead. At that time most of my batch-mates were either studying for CAT or joining big companies like Facebook, Google, Amazon, Adobe, etc. I really wanted to do that too, but didn't know how. I was aimlessly preparing for CAT exam as most of my close friends were still doing so. Gave 2 futile attempts without studying anything in particular or any depth. During late 2013s, I was getting really anxious about my career choice and getting stuck in Qualcomm in a semi Software Engineer role. I was getting the underlying feeling to break free from it and work at actual Software companies. But I did not know how. I would randomly discuss coding questions asked to my friends in Google, Facebook interviews and think to myself: When will I do this for myself. That is where the seed to work at Google or Facebook was planted. I wanted to prove to myself that I have full capability to do it and I will do it. There were 2 paths: either to study for interviews and try to crack the interviews or do a Masters in Computer Science in US or Canada and then be fully prepared as a Software Engineer. I chose the latter as I knew I would have less luck applying directly because of my background in ECE. Thats when I gave GRE, Toefel after another failed attempt at CAT with whatever preparation I had, applied to MS programs in December 2013. Most good universities' deadlines had already passed, but I applied wherever I could.
Long story short, August 2014 I reached College Station, TX to pursue my MS in Computer Science at Texas A&M University. Full blown Computer Science, no half-hearted ECE + CS. Computer Science was the only thing I wanted to study and getting a job at Google or Facebook was the end goal. I was very clear, I had even written in my diary that will I be working at Google soon.
Its Feb 2021, looking back I can only smile. I am a Senior Software Engineer at Google in Mountain View, working there for almost 5 years, converting my SWE intern to full time offer. Sometimes when I am sad about what I am doing, I look back at this journey so far and feel so grateful and proud of myself that I accomplished the goal for which I set foot on this path.
But.. yeah still but; I still suffer from the same issues I used to suffer during school time: Doing just enough to reach my goal and not trying to achieve anything bold or courageous. I am happy that I am very honest to do this critique of myself. I know I have to improve, but don't know how. But I know that I have to tackle this problem now. The problem of lack of conviction, courage and perseverance. I want to set out on another journey where I will fundamentally tackle the core issues of my personality. Silicon Valley does make you courageous and bold. I hope I will do something great in coming years. Thats all.. I had these thoughts from so many days and wanted to pen down to clear my head. I have to tackle these core issues.