Uthaan, the Journalism and Recreational Club of ABV-Indian Institute of Information Technology and Management Gwalior, is here with a new edition of PlaceKode. With us, we have Ravi Chopra who is presently an SDE intern at Slice, a former research intern at IIT Roorkee, a Backend engineer intern at Vruksh Ecosystem Foundation, and a full stack development intern at Bikayi. He will be sharing his working experience there, and advise on development and academics.
First of all, congratulations on getting selected at Slice. How exciting is it to be offered an internship at Slice and be put there? How was the interview process and what was your initial reaction?
There were 3 rounds. The first two rounds were based on DSA. Five questions were asked, and four of them were directly from Strivers’ SDE sheet. Next came the resume discussion. The interviewer was impressed by my projects and asked me a few questions, like why I chose to use MongoDB and why not SQL.
Finally came the HR round, where they asked general questions like my passions, hobbies, etc. Never underestimate the HR round. Just because you clear the technical rounds is no guarantee that you will clear the HR round.
One thing that I’ve learned after all these interviews is that you should try to talk to the interviewer. Literally, just yap with him. Even he would like to speak with you. Most of the time, people who just give a formal interview and fail. You have to impress the interviewer. Connect with him, think of him as a friend. Of course, he is senior to you, even in terms of industry experience. But you should not let that be a barrier. Be friendly, tell some jokes, and get him to laugh. He will also be friendly. The interview for my first internship went great. A few backend questions were asked, but nothing much. I was also given an assignment to develop a basic API and document it. My second research interview was more or less a literature review. I was given two papers to read, and I had to present an analysis of them. My third interview was at Bikayi. It had two rounds. I was asked 2–3 basic questions. The interviewer was actually a 5th-year student from our college. In the second round, I was asked to develop a parser.
A parser is a program that helps a computer understand your instructions by breaking them down into smaller parts and putting them together in the correct order.
You mentioned that your interviewer was impressed by your projects. How important are these for the resume? Can you tell us how one should select a project and how much time should they invest on it?
First of all, don’t select a project. That is a very wrong way to go about it. All of my projects are basically what I did during my internship or curriculum or what I built during my hackathon. I do not have a project which I did dedicatedly. I only did them because I was expected to. But at the same time, be creative while choosing your ideas. And if you have started a project, give some time to them. Don’t leave them in between.
What are Hackathons and what is it like to participate in one? Could you name a few that you’ve participated in?
There are many Hackathons that happen regularly on Devfolio. You just need to search and find the appropriate one that you like. There’s an orientation session conducted before the hackathon starts where you learn about the rules. The rules are generally flexible, like having a GitHub repository. Also, you get to know about the theme, grading system, submission details, and how you can win it!
There are basically two types of Hackathons. The first one is in which you are given an idea, and you have to implement it. The second type is one in which you have to give and implement the idea. The Devfolio hackathon was one where we had to give the idea. It was a Pantech hackathon by Setu, which is an account aggregator. In that, we developed a lending platform similar to Slice. We were given two days to build our application using Setu API. It was an awesome opportunity to learn.
The second hackathon I gave was about Web Development. Third one was by GDSC Nagpur. We were given the idea there, and we just had to implement it. In this case, we are judged based on the code quality, like whether our code is indented well, easily readable, scalable, production-ready, etc. Otherwise, if the idea is not given, then the idea you provide also takes up a lot of importance along with these factors. The next hackathon I gave was by Flipr (Flipr.ai). Here also, we were provided with the idea. We were asked to develop a google classroom clone in two days. We were also required to add some new features on our own. That was the one our team won. There was also a fourth one, but I don’t remember it now.
You have interned at multiple organizations and institutions, how difficult was it to land your first internship?
It’s always very difficult to land your first internship, at least for me it was. I am not that “DSA-guy” who loves DSA or is very good at DSA. I’m a very average person when it comes to DSA and if someone does not do DSA, it becomes very hard to crack an internship.
I literally got my first internship by cold-mailing, messaging people with my resume and then someone approached me seeing my resume, took my interview and that’s how I landed my internship. It took me at least 1 month of searching. I was just in my second year then, so it was pretty difficult
How difficult was it to manage 2 internships and the college coursework simultaneously? Did you ever feel you had taken up too much at the same time?
No, I never felt that, because first of all when I did my 2 internships simultaneously, the college was online due to COVID-19 Pandemic. Secondly, one of those internships was a research internship. The timings of a research internship are a lot more flexible, as you will be conducting research under a college professor, who has many other responsibilities, hence you will have to work when they are free. So I had a lot of free time and used that time for my other internship.
Can you shed some light on the importance of research and research internships? Can you walk us through your journey as a research intern at IIT Roorkee?
So there was a professor in our college (Dr. Nitish Kumar), who later moved to IIT Roorkee. He approached me with the opportunity of a research intern. He took my interview related to ML and related concepts and then granted me the opportunity to work under him.
A normal internship is focused on the industry-based application of concepts. Whereas in a research internship, you get into the basics of things, for example, you focus on how an algorithm works rather than applying it.
If you are planning to pursue an MS or a Ph.D. down the line, then it is very important. It will get you miles closer to your goal. Otherwise, it’s not very important.
As a first year student, should a student focus on application or the theory and mathematics behind AI/ML?
I believe that the focus should be on behind-the-scenes things. If you are not interested in research, and only care about building applications, then that’s super easy. One can build a chat-bot with 50–60 lines of python. You will obviously be using many libraries. I believe that you should understand the algorithms you are using and you should be able to explain regression, classification, etc. AI/ML shouldn’t become a black box whose inner workings are a mystery.
Even if you are working in a company as an ML engineer, there may come a situation where you cannot use a library made by someone else, or you may have to fine-tune an algorithm to fit the needs of your application. You can do that only if you have a good understanding of how everything works behind the scenes.
What roadmap would you suggest for the first year students so that we can make the most of our time and explore as many fields as possible?
I am sharing what worked for me, it may not work for everyone. I believe you should start by learning a good programming language. I would suggest C++. After that you start with Data Structures, and you should reach a good level in Data structures by the end of your second year. Simultaneously, after learning a language you should start with development.
If you want to pursue ML you should start with the Andrew NG course and practice on Kaggle. If you want to pursue research, approach a professor, tell them what you are interested in and what you have already learnt, and they will give you a project that you’ll like. Working under a professor might not be the easiest thing, but they have years of experience and are a treasure-trove of knowledge. If you don’t want to enter research, then continue practicing on Kaggle.
If you want to go into web or app development, you can start with a udemy course. The course I started with was taught by Dr. Angela Yu, it was really good. After that you should pick your tech stack, like ReactJS or anything you like, and build two or three nice projects that can be presented on your resume. You should do all this by the end of your second year.
As for DSA, the only thing that worked for me was Striver’s DSA sheet. That helped me crack the Slice interview. There are many other resources as well. Personally, I didn’t find any good structured course for DSA. I used GFG’s DSA self-paced course, which was very helpful and nice. I believe you should choose quality over quantity while solving DSA questions. Practice practice practice. That’s the only way to improve in DSA.
Hackathons are a very good way to learn. Find 2–3 people that you have good chemistry with, and participate in as many hackathons as you can with them. I participated in 4–5 hackathons with the same teammates, and we won a national-level hackathon. You get to spend 2–3 days and bring an idea to life with your development skills. If you win a hackathon it’s a plus point in your resume, if not it’s a very good learning experience.
How should one maintain a balance between maintaining college grades and self-learning or recreation?
I tried scoring as much as I could in my first semester, as I felt the subjects were theoretical and many of my batchmates were taking it lightly. After that, I just had the task to maintain that level. There’s nothing specific that one has to do, just study diligently two weeks before your majors, and one week before your minors. Study them just for your exams. Focus on DSA and your projects.
How did clubs help in your personality development? How was your experience at SGM?
Clubs are a great place to develop your personality. I was only part of SGM during my college days. They teach you how to communicate, delegate, and work with many people. Clubs will make you learn how to take initiative and get things done.
My experience at SGM was great. During my first year, I took a few classes. I am a passionate teacher, I loved it. Clubs are a great way to connect with your seniors.
Unfortunately, SGM had to suspend its activities for 2 years due to covid-19. After that, I helped restart SGM along with Krishna Prasad, and a few others. Restarting after COVID-19 was by no means easy, we had to get so many permissions, we had to arrange so many things. It taught me leadership, how to take initiative, as well as how to convince people. I had to convince 5–6 Professors in order to restart the club. Convincing professors is probably the hardest task in this world .
Club events involve a lot of grunt work, but they teach you managerial skills.
Clubs are definitely important during a student’s college life, but at the same time, I don’t think you should join more than 2 clubs. If you do, you wouldn’t be able to give each of them the time that they deserve.
Interviewed by Anant Maheshwari, Manoj Shivgange and Riya Shewale
Co-ordinated by Ayush Jha