Relearning Computer Science


I was awaken from a long sleep of ignorance with some events that occurred in the last couple of weeks. A sudden surge of conscientiousness about taking my education in my hands was one of the immediate results.

The inflection point was getting to hear Bryan Cantrill in person and interviewing with him the next day. I didn’t do my best, but was humbled by Cantrill into realizing how much I had to learn. The part I liked the most in the 30-minute conversation was how calmly he explained concepts I was not clear about (while someone had warned me beforehand: “Know your stuff before you talk to Bryan. Otherwise he’ll eat you alive.”), asked about the courses I was taking further and suggested which courses to take to build on the right fundamentals. This event also made me realize how lucky I am to be in a place full of opportunities to learn and how foolish I will be to not make the best use of them.

The next event was a lengthy email conversation with a hacker friend back home, which led me to a deep introspection of my past couple of months at grad school. I went to the point of crying (which I shouldn’t admit in public, but I am only human and am willing to accept my emotions) pouring my heart out in one email talking about the feeling of impostor syndrome. In response, he had very practical tips to share and I am slowly getting to implement them.

Somewhere along this introspection weekend, I ended up reading Allison Kaptur’s post on Effective Learning Strategy for Programmers, there is video version as well, if one prefers that:

Admittedly, this was one of the most profound articles I had ever read about how human brains work. I was surprised that I had never given much heed to the terms “fixed mindset” vs “growth mindset” and how important concepts they are to understand how we learn. I could relate up to 4–5 years of my past life with a fixed mindset towards learning. I still do not have a clear idea or plan of how I can orient myself towards developing a growth mindset in concrete steps (inputs on effective strategies most welcome) but gaining this insight about the nature of the problem itself seemed like a good first step.


Immediately after, discussing these problems with my advisor here and getting a reassurance that it is typical of incoming students to have such experience in first few months of grad school, gave me sufficient confidence to give up certain things that I was trying to keep myself busy with and focus on filling up gaping holes in my background in CS.

It was amazing to see everyone whom I had commitments with to be supportive of my decision to slow down and focus on fundamental things that I wanted to gain with my education.

Keeping Fit

I always thought I will get into a regular exercise routine or some sports soon after starting grad school, but that didn’t happen in the first two months. I acquired a badminton racquet (because that’s perhaps the only sports I can play without embarrassing myself at yet another thing) and took some time visiting the beautiful sports complex:

(Yeah, I cursed myself for not exploring this part of the campus before.)

I have tried to start running again, even bought shoes for the same, but chilly morning temperatures of sub 5 degrees just don’t motivate me to go out at that time. I have noticed people running on the streets on all odd times of the day, perhaps I just need to find out some other time during the day to start running (guess what, the department building has showers, no excuses).

Courses & Assignments

I am taking two courses for credit and vagabonding two half-courses. Few adjectives come to mind describing those courses — irregular, eternally-lagging-behind, challenging and exciting.

Each assignment brings out things I want to improve upon, sometimes it is recognition of overconfidence in my abilities, sometimes cognizance of underestimating the importance of testing (one (and a half) course stresses a lot on testing, lots to improve here), sometimes it is just the acceptance and appreciation of challenge that a typical undergrad here goes through.


I found an exciting place to work on campus. Here are some pics:

We have a Oculus VR in the lab!

I get to play with lots of cool gadgets that have mostly to do with high quality video, something that has interested me ever since I assembled my own PC back in the day. It is also a testing ground for extending my comfort zone for being effective in solving problems related to technology that do not directly intersect with my special interests in CS, with some discipline and fun thrown in. Perhaps I am able to use a growth mindset relatively easily here.


There is suddenly a (relatively) large influx of juniors and friends reaching out asking for help with their applications for master’s study in the US. This has been a bit distracting. But I realize it is a way of giving back for all the help I received last year when I was in the same boat. However, it takes away a considerable amount of time (which is the most important asset that I have) and I need to come up with a way to solve the problem at scale.

Perhaps, a simple solution lies in developing an official homepage (with useful tips & advice) that I have been first procrastinating upon and now not finding time for.

Posted with tags Brown University Change Personal Hacker Learning Work In Real Life Reflections Grad Life
Older article
The Gap