Now that I am graduated from NIT Calicut, one more chapter of my life is over. It is time to move on to the next page, but before I begin that phase, I thought it would be nice, to sum up, the experience that I gathered in NIT Calicut. The last four years have been great for me. I learned a lot of new life lessons, but there were some decisions which I could have avoided. I take full responsibility for my actions and do not blame anybody for the same. Although, I do not regret taking any of those decisions, I feel it is crucial to document all those lessons before they vanish from my otherwise average memory. This post is intended to serve as a document for my future self, but most of the content here should be able to help anyone, who happens to read this post. Most of this content has been taken from my journal which I maintained (not consistently) over last two years.
From the first year itself, I had an impression from various online QA sites and some seniors that studies are not a big deal in college. That was a grave mistake which cost me a lot during my college life. I tried to compensate it in the later half of my graduation, but that was not enough.
While my friends used to learn by teaching each other, I never enjoyed studying in groups. I wish I had participated more in such group learning activities.
Most of the courses taught in the traditional colleges like NITC are useless in my opinion. However, Data Structures and Algorithms(DSA) was one subject which shows its importance again and again. It is one of those subjects where I should have put more attention. Although I was suffering from a fracture at the time of this course, some more efforts from my side could have changed things as they are today.
Wrong learning methods
I always tended to learn anything new using the tutorials available on the Internet. It is fine, but I never tried to do any projects/practicals to strengthen my learning. In my experience, it is always better to learn any programming language by doing projects in it.
My first programming language was C, which was taught in an introductory course in the first year. C is a relatively low-level language, and it helped me in understanding many concepts and working of many systems related stuff, but I feel that it is also one of the reasons that I am not able to think in higher level abstraction. When I started learning Python, I was not able to think anything in abstract terms. I wish I had put more efforts into learning Python or any other OOP language early in my college life.
I have always been an introvert person when it comes to communicating with people. I wish, I had worked on improving this aspect of my personality. For first two years, I never asked any seniors for advice, never asked any question in the classroom, never discussed project ideas with any faculty. I tried to improve myself in the last two years, and I feel satisfied with my efforts. In my opinion, it is always better to ask a more experienced person for their advice than to take blind steps and regret later.
I was hesitant about talking to people from the different linguistic background in my first and second year. Again thanks to my inability to communicate with new people. I improved this later, but first impressions are crucial if not everything.
Friends and seniors
In my first year, I made a mistake by choosing to befriend some people who identified themselves as state seniors (people from same north Indian state as I am). I was naive in identifying people at that time, but when I look back now, I feel that if I had avoided those people and invested that time in learning something related to CS, I could have gained more out of college. For a person, who was entirely new for CS, that one year time was very crucial, and I completely wasted it. It took me two years to rectify my mistake.
Not taking breaks
I never took breaks from learning new things. I always put my work ahead of my personal life. That was a wrong approach. However, I do not blame myself for this. I was new to such work-life equations, and I did not realize the requirement to maintain a proper work-life balance. I wanted to learn a lot of new things, and college provided me the suitable environment, but I feel that I exhausted myself many times. That resulted in my loss of interest from Computer Science also in the second year.
Writing and Reading
I was never a voracious reader in my childhood. I never tried to spend my free time with books. After coming to college, I saw many people reading books day and night. That inspired me to develop a new hobby of Reading. Although I still do not read a lot (just 5-6 books a year), it is better than reading none.
I started this blog in the second year. My intention was not to write. I just wanted to learn how to setup Wordpress and Jekyll. However, slowly I developed the habit of writing. I now consider it the biggest takeaway from college. Writing a blog has helped me learn new things, and systematically explain things.
I tried to write a journal to document significant events in life, but I could not maintain it regularly. That is one thing, which I would like to improve in coming years.