My Internship Experience at TCS Innovation Labs
ExperiencesAashrith Sai Madasu
Aashrith talks about his internship at TCS Innovation Labs and working on the Vehicle Routing Problem using Reinforcement Learning
It was in my third semester that I came to know what Competitive Programming (CP) and Data Structures and Algorithms (DSA) were and why both are important for company interviews. I thought I didn't have enough time and started practicing coding immediately! During the winter break after the third semester, I used to solve DSA problems based on BinaryTrees and Binary Search Trees. I was improving gradually. I also felt very confident about the DSA Lab course in the upcoming fourth semester at that time. Since DSA is kind of a big deal, if you want to get a good internship or a job, I suggest practicing it even before the professors teach you. I also practiced DSA in the summer break after the fourth semester for like a month and a half. I used to maintain a list of problems that I did every day with dates and links to the problems. The problems were mainly from 450dsa.com.
But soon, I realized that I was getting sick and tired of waking up every day, solving problems and the whole drama of debugging my code if there was an error. And at the same time, I was kind of intrigued by Machine Learning and AI which were untouched by me at that time. In addition, I also had some qualms about working as a traditional software engineer in a software company. After some research on the internet, I learned about how research in computer science would be and how it would be easier to switch from a research-based career to a non-research-based career than vice-versa. After a series of such events, with a bunch of twists and turns, I was pretty lost and felt that I didn't know what I wanted in life! Since I was not particularly fixated on a single thing, I was open to trying out multiple different things. I decided to apply for research internships as well, as I really wanted to try out research. And soon, through in-campus internship opportunities, I applied for TCS Innovation labs and got an offer as a Research Intern.
After my third year, my internship started. Since it was a research internship, I had to do some reading of research papers and understand the problem that I was going to be working on – the Vehicle Routing Problem, which is basically a graph problem. The aim was to apply Reinforcement Learning (RL) to provide a solution to the problem. I had no inkling of how RL works and how it can be used in my project. So in the first week and most of the second week, I used to concurrently read the research papers and learn RL from the internet. Every time I sat down to learn something, let's say a particular concept, I realized that there were a lot of prerequisites that I had to learn before diving into learning the original concept. So I would make a list of things that I had to learn and learn everything sequentially. It was genuinely a great learning experience!
After I felt confident in RL and related concepts, I got my first task, which was to implement an algorithm that was introduced in a particular research paper. For the most part of the internship, my mentors gave me work of a similar nature. I used to plot graphs related to the performance of the model and such. Towards the end of the internship, I was asked to tabulate the final results in an excel sheet and submit everything, including code, documentation, plots, excel sheets, etc.
In the meantime, I was also preparing for the Graduate Record Examinations (GRE) since I knew I wanted to study further in the future. The GRE is an exam used by foreign universities as a criterion for evaluating applications. I used to spend time on both internship and GRE-prep everyday. But things got a bit relaxed in my internship, in the second half of the second month (because my mentors were working on a paper and the deadline was nearby). Since I was left with a lot of free time, I started spending more time on my GRE preparation and also watched those movies on my list. I used to enjoy spending time preparing for the GRE, as it had been a long time since I prepared for an exam with MCQs like the IIT-JEE.
In conclusion, it was a good experience working as a research intern. The whole internship experience was very smooth and enjoyable. On a closing note, I would like to emphasize that if you're someone like me who doesn't know what you want in life, I highly recommend that you explore and try out all the different things, and don't stick to one particular thing just because it is a safe option and can guarantee a job. After all, you might end up not liking it at all. That said, I wish you all good luck and a happy internship experience!