Season 0: Why Columbia?
Just to give some context, I moved to the USA to do research at Columbia. If you haven’t heard about Columbia, it’s nothing fancy, it’s just an old uni in New York. I am not gonna sell anything to you guys. I am not going to go through and sell you the facilities, amenities, industry connections, New York City effect, and other usual university pills. This is more of a personal discovery of why I took such an extreme, high risk at the worst possible time. It’s been more than a month since I moved here, and for the past 2 weeks I have been figuring out what classes to take, what to focus on, what to avoid, who to avoid, along with navigating my everyday life in general in Manhattan. I just wanted to write about why, what’s the need to go to grad school in this uncertain climate, just the thought process behind choosing Columbia.
Unlike undergrad, where I just wanna slack off, do the bare minimum, milk my CGPA, now I just wanna study, do my coursework, forget about CGPA, help my lab with research, and absorb knowledge like a sponge. That’s my only agenda from grad school. The past 3-4 years have completely changed my perspective towards learning, especially thanks to my mentor NJ, who is my life changer. He is the best coder I have ever seen and the most knowledgeable person, from the bottommost layer of the stack to the topmost layer. Just think of someone with 35-40 years across the industry, leading the best world-class minds and mogging them. I felt so cool about his aura, how he doesn’t give a fuck about anyone, chases knowledge every day, is straight to the face but also extremely kind and understanding. I was fortunate to peer code at times, sit near him every day, make mistakes every day, I was extremely slow, sloppy, with little process, but as a side effect I was rapidly learning new things every day. I religiously started to follow whatever he says, he is a big believer in books and strong fundamentals, and I didn’t have any of it. I had only 1 skill that I was extremely good at, DSA, graphs in specific, and I was able to convince him after his 4-hour-long rigorous cross questioning. Fortunately he got to talk with many, many engineers of my age group and he was not satisfied, and I got my chance to talk to him. I had multiple FAANG offers lined up, so I just wanted to say hi and talk to him, got so impressed with his knowledge that I decided to build alongside him, taking a huge pay cut (more than 70%). I want to be as cool as him. The reason he is cool and unhinged is he works extremely hard and gained all of his knowledge via hard work. You just naturally pick up habits from people you adore, and that’s how I started to pick up these core values from him.
I was pushed into deep waters from day 1, with no help or support, no AI-assisted coding like these days, just begging for help from the god-complex jerks on stackoverflow. I quickly understood my shortcomings and understood how many layers of onion we need to peel to get enough clarity to build systems. Because these systems are primitive building blocks for the whole company’s infrastructure, we can’t just wing it. I had to put in effort to self-study and redo all my CS engineering courses to have conversations and clarity in what I am building. It is so unfortunate that we couldn’t win as a startup. If I could trade my arm for this company to win, I would have done that.
I was in this bubble with my mentor, so I kept chasing him, his friends, and a couple of folks who also had 20-25+ years of experience. Almost every day I felt miserable, uncomfortable, saying sorry a million times, saying I don’t know a million times, saying I will learn and get back to you a million times. When I came out of this bubble I felt so out of place. A junior engineer role doesn’t make sense to me, I felt I could do better, but we’re living in a retarded place like Chennai, where either you’ve got to be Java-pilled to find a job or you should have fixed years just to even interview for roles. Fortunately I found a challenging place with a lot of challenging tasks for me, a very supportive CTO who did so much for me to accommodate me into such a huge team and give me full freedom to go build whatever is correct, not worrying about hierarchy. What’s a better place to be than sitting in the driver’s seat of AI innovation, figuring out and building things that everyone is figuring out, with mind-boggling compute and resources and unlimited time to read every day, find what’s the next best thing in the next 6 months, and iterate. My only problem was I was lonely. I couldn’t hold an intellectually deep technical conversation with anyone my age. If they were interesting, they’d be at the eng director level, so they build a cute wall around themselves, so I was not learning anything from my surroundings. Except my CTO and a small engineering director team, nobody really understood what I was doing, why I was doing things. It was also a very comfortable job. Coming from a grind that was 7 days a week, 24⁄7, ready for any blast if needed, I felt I’m just in my early 20s and I have a few more years of knowledge-gain grind left. The AI psychosis seeped through everywhere, and I could visibly see folks getting super uninterested in the work they do, and companies, especially in Bangalore, taking random choices assuming LLMs are the god-sent ultimate truth and starting to milk them.
So now my criteria were straightforward: extremely challenging environment, an insanely talented peer group so that I am the dumbest person in the room, rapid knowledge gain, think from first principles so that you can see through all kinds of gimmicks. Fortunately I was able to convince a bunch of schools, despite a mediocre undergrad academic record, with just going to college for 3 months, spending all the rest of the time in COVID, finishing the degree in half the time, that I was worthy enough for academia. I was just oscillating between joining Harvard, Carnegie Mellon, Columbia, and Rice, and finally chose Columbia. You can see a pattern here. I didn’t apply to any west coast schools because I don’t wanna be in a bubble when I am in grad school, because it will blindside me from researching and exploring non-commercial, non-feasible alternate ideas. Also I didn’t apply anywhere outside the USA because, apart from Tsinghua University china, peking university china, NUS singapore, cambridge uk, everything else is mid for CS, especially the so-called top unis from the UK, Netherlands, and Australia, full of QS ranking bullshit. Columbia satisfied my requirements.
- Extremely challenging environment - fortunately my specialization, computer systems, has almost close to 0 Indians, coz the majority crowd is in NLP specialization to mint money from this trend. Also, since I am currently in pre-PhD, I am taking the hardest possible courses, which mostly have a single-digit or <20-25 class size, with almost everyone doing a PhD.
- Rapid knowledge gain - the homework here is rigorous, extremely long, challenging, and they don’t shy away from taking the best out of other unis. Eg: check this one out https://systems.cs.columbia.edu/ds1-class/. I truly believe in this blog, there is no speed limit, so getting through these courses with honesty and hard work would be a sufficient starting point for knowledge gain.
- Insanely talented peer group: if you are into research, the lab group which you are part of is the best place to be. I haven’t nailed my lab yet, but as of now, if I get a chance, I would love to work with Dr Kostis Kaffes in his DAP lab. Hope that happens soon.
- Think from first principles so that you can see through all kinds of gimmicks - the only way you can sense bullshit is through rigorous technical understanding and exploring all the uncomfortable lanes which you will never get to explore in a full-time job.
Yes, there is uncertainty with the global visa scenario. I know there are folks with a mind-boggling amount of loan here, and fortunately I am privileged enough that I was able to work a high-paying job in India, live extremely frugally, and save up a decent chunk. As well, my loan amount is well controlled under my risk appetite for my worst-case scenario, and I also have my mom and uncle to bail me out of my student loan in the worst-case scenario, so that’s not something I am worried about at this moment. There is a lot of difficulty in just coping, but fortunately I have a supportive mom and uncle so I can get through them. I’ve always taken bigger risks all the time. Frugality helps me a lot with these decisions. Every risk has been fruitful, or in the worst case I am able to cling on to something else and survive, and I hope this hardship turns out to be a fruitful experience. I was hopeless for over a year, but now I have dreams, I want to be happy, I want to win. Its going to be a really hard grind for me. I will push myself because I feel I will enjoy this. I want to chase technical excellence because with enough skills who knows whats the future maybe one day I will build meaningful softwares that could be life changing. I will write about all my uncertainty, what are all the courses and areas I am gonna explore as part of my research, and the challenges I am going through, in the next blog. Do reach out to me in my DMs or mail me if you have any thoughts. Would love to listen to your thought process.