Hi, I am Shubham Jain, currently working as a Quant Researcher in Graviton Research Capital (a High-frequency trading firm).
My academic journey has been through different schools. I started from a Hindi medium in a small town to the best english medium school in a city. My parents motivated me by setting an example of my cousin who studied at IIT Delhi. After completing high school, my interest in mathematics led me to decide to go for the JEE exam. My family shifted to a different city to prepare better with the full support of my parents. Fortunately, I cleared the JEE exam on the first attempt and decided to choose Electrical Engineering in IIT Kanpur.
Starting with the motivation to explore Computer science fields is primarily the number of opportunities at every level in both the corporate world and research fields.
Although I’m from electrical engineering, my interest in coding started in the first year in college. It began with a fear of failure in the first semester's introductory coding course. That fear led me to practice as much as possible, which eventually led to getting interested in doing it more and more. I still feel that it put the foundation so well that I could feel confident whenever I started doing it.
For me, it included preparation for both things simultaneously. The first was clearing the tests, and the second was clearing interviews.
For tests, there were broadly three parts, which I focused on the most,
I started my preparation from competitive programming, which covers most of the weightage in both tests and interviews.
Before starting this preparation, I was already in touch with famous basic algorithms based on particular data structures. I learned these while doing introductory Data structure and Algorithm courses in college.
I took help from online sources for any doubts related to this course. I felt that it is essential to have a bit of theoretical knowledge about all the algorithms you will use in the future. My primary devotion in this preparation was to focus on the complexity analysis and why certain data structures are most efficient in solving a particular problem.
For practicing the placement preparation, I started with doing the programming section on various programming websites. In the initial phase of my preparation, I was doing topic-wise questions for each difficulty level in a good way, which helps in covering mostly used algorithms and data structures. While practicing questions for each topic, I also went through that topic from different sources on the internet.
I tried to complete a few sources one by one while narrowing down the problems to spend time on. As I was getting more comfortable in certain topics, I was focusing on my weak topics. One important thing that I concentrated on every day while preparing is to solve the problems in as much less attempt as possible; this will help improve efficiency, which will eventually save a lot of time.
After completing the topic-wise preparation where I already knew which type of algorithms and data structures will be used, the following preparation part comes where I have to validate this learning. The way to prepare for this is to either.
Along with the intense preparation, it is also essential to have a good habit of writing clean code to reduce the debugging time. Some companies also expect the candidate to write code on paper and present the clumsy coding style gives a negative impression.
For the first slot on Day 1 for placement, I got shortlisted in 5 companies based on test performance. Every company had a rigorous process of interview rounds to make the final decision. I already had a priority list in my mind to invest those limited hours in each. At the end of all the interview slots, I got offers from multiple companies.
Companies did not want to lose me, and hence they called me for a brief meeting and started bargaining. They were trying to convince me of the opportunities in their offer. I finally decided to choose Graviton’s offer as a Quant Researcher with some of my friends' help.
Machine learning is one of the hottest fields in computer science. Like every other field needs a foundation course to start with, I started with the introductory level Machine learning course offered in college. This course includes all the basic knowledge of widely used subdomains with a bit of theoretical backing. Solving regular assignments in an introductory course helps in getting to start with certain Machine learning-specific libraries. I also had a group project of elementary level, which gave me the whole idea of how a certain type of problem can be solved end-to-end and the practical difficulties that can come along with this.
These step by step learning can guide you to start working in a research field or a corporate firm. Now it’s the right time to approach professors for some research ideas or grabbing an internship in corporate firms. Gradually adding experiences in your way will help you get better in the machine learning domain. Finally, one last message - continuous learning and practice is the simple way to develop a long-term interest in programming.
Get well-designed application and interview centirc content on ds-algorithms, machine learning, system design and oops. Content will be delivered weekly.