Road To Code: AMAN AGARWAL & GAURAV SINGH
I don’t know how many of you are aware of the fate of those two friends in ‘Honest Engineering Campus Placements’ by AIB who promised each other to be placed together and failed, but mind you, the two seniors in question here did get placed together in DE Shaw and none of it was planned!
Let’s dive into this very raw interview of Aman Agarwal and Gaurav Singh, the two seniors who have been leading from the front and have set a very good path for the juniors to follow in!
Good evening Sir, I would like to start by congratulating you both for what you have achieved and it’s truly inspirational, to say the least! So, let’s begin.
Q – As it is often said that to start something is the most difficult part of it, so around which semester you both were sure and truly aware that you wanted to code and get a job in this field and what were the initial barriers that you faced during that time?
Aman Sir – If you talk about interest, I had it from the time when they teach you C or Java in 9th standard. In college also, I started coding from first semester itself owing to Fractal. However, coding, in view of getting a job came at a much later stage i.e., around 5-6th sem. My grasp on data structures and algorithms was pretty strong from the start so picking up pace was not an issue. The only barrier I think I faced was understanding a lot of new information about this field which I was not already aware of.
Gaurav Sir – Just as everyone else at IET, I started to code in first semester at Fractal. But that wasn’t when I decided that I wanted to do this. As a matter of fact, I just did like 50 odd SPOJ questions back then and left it for next two good years, basically thinking that the idea of competitive programming was very mundane and pointless. I loved solving problems but at that point, being a novice in the IT sector, I couldn't see how it fits in the bigger picture and so owing to my curiosity, I decided to explore fields both within and outside the CS domain, finally settling at ML which was ‘the thing’ back then and also a good intersection of everything I liked. After giving it ample amount of time, it dawned on me that it is going to be more like a dead-end If I don’t want to do masters.
At this point I was lost for a while surely. I knew what I liked but it didn't pan out. I was disheartened. So, I went back to coding as an escape, not CP but purely DSA based problem solving. I loved being able to create something of my own from scratch, to solve problems using those tools, converting ideas and logic into mathematical structures and then translating it for the computers to understand, and that got me hooked again.
Q – Do you think there should be a threshold, that before this point one should start doing stuff in order to enjoy a prosperous career ahead? What is that threshold according to you if any?
Aman Sir – It is hard to define a threshold that'll work for everyone. I may have started just one year ago form career viewpoint but I was already somewhat prepared for it. But for someone who is not consistent and hasn’t yet started, it might be more. Or if you are dedicated enough, it might be even less. I think an overall safe threshold to seriously start thinking about career would be 5-6th semester.
Gaurav Sir – I agree with Aman that it cannot be the same for everyone. There is no right way to living a happy life or having a rewarding career. Different things work for different people. So, it is on you to figure out what works for you in your given circumstances and then give it your best shot. The world is full of talented unsuccessful people (success here denoting, what they could have been, if only). Living with untapped potential is my biggest fear and is the fiercest source of motivation for me. This works for me, might not work for someone else.
Q – In the initial days of our JEE preparation we attach high values to the motivation factor, though it becomes quite clear with every passing year that discipline is the real deal. What were your hacks to remain consistent every day? Were there any cheat days?
Aman Sir – Discipline is very necessary. I think the lines: ‘Do it if you want something nice for your future. Do it if you don’t want something bad for your future’ should help everyone in finding their reason to be disciplined and staying motivated. I often reminded myself of my failures, kept healthy competition with friends and asked my close friends to notify me if I went off track.
About cheat days, yes, I had them once a week which comprised of watching anime, movies, series, Netflix or just sleeping. Change is necessary and it will happen. Monotonous schedule does not do much good.
Gaurav Sir – For me it is about the environment that I am in. I find myself more immersed in work and motivated to start when I am surrounded by people who share the same vision or at least a common goal. That way, you can induce the other person to do what is needed when they are not feeling like it or just being lazy and vice versa, they help you. The cheat days should come once in a while and mostly when all of you are adamant about doing nothing. I am fortunate that my close friends are incredible people, who are not just talented but equally hard-working and curious. And they are the same people I like working with as well, so there is no line to separate fun and work and that is what keeps one going without burning out.
Q – How important it is to be surrounded by like-minded people? And what are your thoughts on the present coding culture in our college?
Aman Sir – Company of like-minded people is very important as it does remove a lot of obstacles like removing doubts about the chosen path. Also, learning becomes dynamic as everyone brings something new to the table. Most importantly, people around you back you up, believe in you and you believe in them. Someone is always there for you.
About the coding culture, it has never been better and I would give the whole credit to seniors and Fractal. It really has improved a lot over the last four years. More and more capable people are coming out and are changing the whole picture of college and its students, as seen by the outer world. Like, people have really started recognizing the college from the coding club and are intrigued and impressed by how we do things here.
Gaurav Sir – If you have good company of like-minded people, well and good, but it’s not like, you necessarily have to be best friends with the ‘coders’; just maintain casual comradeship with them. Just get comfortable with discussing things and learning from them, and returning the favor whenever possible.
The journey from ‘coding classes’ with 20 regulars to ‘Fractal’ with a batch of 80+ regulars, from being non-existent on coding platforms to dominating in every other contest, it has been an incredible transition to say the least. All thanks to our seniors, fellow batchmates, and juniors for making this happen! But trust me even after being so close to the change all this while, it feels incomprehensible sometimes. Also, it feels so good to see how every fresher batch is doing better than their predecessor batch. But what we like the most is that now there is an evident change in the discourse that goes around in college, people are discussing projects, ideas, logics, codes, placements, internships, packages, tech stack etc. This is a point, where we believe, this whole environment doesn't need anyone's push anymore, it doesn't need to be enforced now, but just regulated and I think everyone is doing a great job at that.
Q – What tips would you like to convey to your juniors or rather what things would you like to do differently if you get to start again?
Aman Sir – That’s a tough one because if I were to right all my wrongs, things might have panned out differently, and who is to tell if they were going to be better or worse. But one thing that I would like to add is, keep pushing forward and don’t lose sight of what you want. Cheat days and relaxation is needed but don’t waste away complete years. Try and don’t be afraid to lose. I am always chill about things and so I would suggest just go with the flow!
Gaurav Sir – Honestly, I wouldn’t change a thing. Whatever worked out well, and what didn't, it still got me to some place after which I know better - what I want, what I need to do to get that and what I should not do. It’s all about experiences, good or bad - we have to cherish them, ‘varna gile shikve hone lagte hain’. I would say be honest with yourself, do what you want to do, be you and not what you think others think you should be. Try to find who you want to be, and be that. If you don't know yet, keep looking.
Q – How to balance development, coding, internships and projects (what is the best time to begin each and duration of each)? Also, can you provide a brief description of how you got your first internship?
Aman Sir – Not the best person to answer this but:
Sem 1-3: Just code
Sem 4-5: Projects + internships + coding
Sem 6-8: Development + coding + internships
This is flexible and may depend and be different for every person.
My first internship was just to write some articles and develop DSA for an open source community. I came to know about it through a friend of mine. I applied to it and completed an assignment that they gave and was selected for it. It lasted for 2 months.
Gaurav Sir – I am going to mention the most idealistic way of doing things that I know most of us won’t fit into, but here it is:
Sem 1: Code in C++/Java preferably (or python but at your own risk) and implement basic DSA.
Sem 2: Cover advanced topics of your preferred language i.e. STL, collections, OOPs and advanced DSA
Sem 3: Practice coding and participate in as many contests as you can and up-solve afterwards and in development - basics of git and web-dev or something of that sort.
Sem 4: Continue doing the same things for coding as in semester 3 and start development properly (preferably by participating in hackathons) and look for internships if you want to add weight to your resume (it will help a lot at later stages).
Sem 5: Keep coding. Increase development. Actively start applying for internships.
Sem 6: Same as above. In coding, shift focus to Interview questions using LeetCode or InterviewBit or HackerRank.
Sem 7: Same as above. Start applying for jobs. For tests and interviews prepare through interview experiences (company specific).
Sem 8: Hopefully you’ll be placed by now. Party hard and don’t forget to invite us. Otherwise keep hustling. Luck is a huge factor so don't beat yourself up. Remember you only get it right once!
My first and only internship was at NEC, which I got through college. It was not very good actually, I left it a week before my release date. But it gave me good exposure and added value to my resume for sure. I did web-dev for the first time ever in my life there, actually, any sort of development to say (I don't count applying ML algorithms and web scraping as dev work). I declined another internship offer for this which was based on Deep Learning, as I wasn’t much interested in it.
Q – What are the things one needs to keep in mind while looking to be placed off-campus, and what are your thoughts on the current on-campus placements? Are there any on-going myths you want to break over how to prepare for placements?
Aman Sir – Well, currently for off campus, one needs to match or even outperform the students from other reputed colleges to have a chance. I admit that the college name has an impact but performance always outshines that factor. On-campus placements lack because they think that students here are mediocre. We don’t even have proper policies regarding on-site internships and also people wanting to bring change are not always welcome. So, under pressure most students end up getting demotivated. It’s quite evident that students here have to put extra efforts.
The myth that I want to break is that cracking good opportunities in this field are not as difficult as some people think it to be and it’s no big deal. Anyone can do it.
Gaurav Sir – Networking is crucial for off-campus. Try to be proactive regarding opportunities and grow your circle accordingly. Also, work on your communication skills to a point where you can at least express yourself clearly to others. After that, your knowledge, work, profile, and your attitude will take in the reigns. Communication becomes particularly important because you are already competing with a pool of candidates with almost the same caliber and background. So, if you are not able to convey your thoughts then the interviewer should, in all fairness, pick someone else over you who can. But this also doesn't mean you need to be a Shashi Tharoor. Other things are pretty standard, know your core subjects and tech-stack in and out, practice coding as much as you can, and before interviews gather info on what to expect, by reading past experiences of that company. On-campus placements have a long way to go, hopefully they change for the better.
Myth that I would like to break is that, it is not something extraordinary to have done this. It is just like any other thing; you keep doing it and with some luck one day you get through. For some, it takes 3 months, some maybe 6, some a year or maybe more, but it can be done by anyone. Also, it is never too late. The second you decide you want something, start building brick by brick and you will get there eventually. Just decide, start, and don't give up.