Geek on the top is all about success stories of Geeks who are working hard to chase their goals and are an inspiration for other geeks.
Gaurav Sen is a programming enthusiast who believes in being passionate about competitive coding and perform problem-solving with patience. Gaurav has a Youtube channel on which he loves teaching by posting video journals of his own. Gaurav has worked in various Big companies like Morgan Stanley and Directi and is currently working with Uber.
How does it feel to work in biggies like Morgan Stanley, DirectI, Uber?
It feels great to clear the interviews and there is a sense of validation every time an offer is rolled out. After having started work, there is a lot to learn. There are a few common things in every software engineer’s life like version control and dependency injection. These are learned when working in an organization.
My experience at Directi taught me how to code well. I then moved towards designing of scalable systems. In the time span of four years that I spent there, I evolved. I recently joined Uber, and the challenges here are very exciting.
How should students prepare for companies like these?
I would recommend that students should not only practice programming on a basic level, but they should always prefer to perform programming on a competitive platform. It will help them enhance their ability of Problem-solving which is a very important part of an interview. Competitive programming is a popular way to train their problem-solving skills.
For experienced candidates, especially those with 1-2 years experience, some system design knowledge is essential to get a job into the big companies.
What was the turning point of your life that brought you here ?
I started taking my life seriously when I realized I was responsible for myself. As long as I would blame my teachers or my parents, I would ignore my faults instead of facing them.
During my first year’s summer vacations, I took classes for data structures and practiced them daily. Programming was hard work, but I kept trying till the console gave outputs. It’s like a game and should be treated the same. I never gave up on problems, instead, I kept on finding alternative solutions for the same to enhance my skills.
What according to you is the most important skill required for competitive coding?
See, competitive coding is something for which one should always be passionate to perform well. Competitive coding requires a lot of determination towards problem-solving but determination on its own can’t be of great help in case of competitive coding, one should be passionate about solving problems in a more efficient way.
Most people say: Determination. I would say: Passion.
I say it because of the way humans behave. If I force myself to do something, I need a lot of determination to continue for an extended period of time. You have to pay me to keep me doing it.
Compare that with someone who is passionate. You have to punish me to stop me doing it.
As an example, I don’t gym for more than a period of 6 months. But 3 years after starting, I still love teaching on YouTube. Teaching is something for which I am passionate, not only determined.
How and when a student should start competitive coding?
Competitive Coding requires a good programming knowledge which for most of the students is difficult to gain in their starting year of college. I would suggest starting competitive coding in the second or third year of their graduation course. By that time they have a strong enough grasp on coding. You can start solving the easier problems immediately and move on to the harder ones gradually. This will help to boost your confidence level by level.
How did you come to know about GeeksforGeeks? How did it help you?
GeeksforGeeks is a platform that can help you with your programming skills by providing support at all the levels of developing your coding knowledge. GeeksforGeeks contains Interview Experiences of various companies like Amazon, Directi, Microsoft, and many more tech giants, which makes it a popular site for Interview preparation. A lot of my friends cleared their interviews by preparing with the help of GeeksforGeeks.
I came to know of it first from a friend of mine who prepared for his Microsoft interviews with the help of GeeksforGeeks. Later on, I discovered it myself while coding competitively. It helped me enhance my knowledge about algorithms in dynamic programming and string matching. I recommend GeeksforGeeks to my colleagues and fellow students so that they can learn stuff easily and efficiently, as GeeksforGeeks can turn programming Beginners into programming Masters.
You are a chess champion. Do you think students lack extra-curricular activities and sports these days? How important is it?
To be fair, my extra-curricular activities were limited. Chess is something I am passionate about, and I believe students should have multiple hobbies to grow holistically. Nowadays, students lack in extra-curricular activities and have become technology dependent. It is very important to have some kind of physical activity as it helps to free both the body and mind. I feel that it could be anything, you could go running, or gym or sports, but physical activity helps you to be active and work faster and better. Many students ignore these activities thinking that they would take up their time and waste time in which they can work, but the real fact is that these activities help one to become fresh and fast, and they will then be able to do more work and better work in lesser time.
You give lectures in campuses and on Youtube channel. What according to you makes a student a good learner?
A positive attitude and humility. Being positive allows you to believe in your abilities. Being humble lets you learn from your failures and other’s successes.
Patience is the final key factor for a good learner. These three elements ignite a long lasting fire which can help you grow in your respective field.
What is your advice to students who aim to achieve success like yours?
I would say, don’t blindly follow the herd. Customise your path for success. And respect your teachers. They respond to humility.
Gaurav can be reached on Facebook, Youtube, LinkedIn
- Youtube channel of his own which has 16000+ subscribers. Creates content on Systems Design and Competitive Programming.
- Awarded Tata Trusts and Google India Scholarship for Udacity Android Nanodegree Program based on performances in HackerEarth and subsequent interviews (2016).
- World Rank 3 in BOB#7 amongst 2000 participants at HackerEarth (2016).
- Secured All India Rank 3 in Codechef challenge problems (2015, 2014).
- Ranked 116 Globally in Codechef Cook-Off (2014).
- Lecture on Algorithms and Data structures in BITS Goa(2017).
- Lecture in CodeUtsava 2.0 – Competitive Programming (2018) in NIT Raipur.
- Won second prize on IndiaHikes Blog Contest (2016).
- Won Best Chess Player Award and Gold Medal (Team) in FRCRCE intra college competition (2014, 2013).
- How do I become a good Java programmer?
- How to write a good SRS for your Project
- Coding good - Important criterias
- Print all Good numbers in given range
- Software Engineering | Quality Characteristics of a good SRS
- Boyer Moore Algorithm | Good Suffix heuristic
- Puzzle 55 | Geek and his Friend
- Load Factor and Rehashing
- N-th prime factor of a given number
- k-th prime factor of a given number
- Factor Tree of a given Number
- Anmol Mishra - Geek on the top | “There is no excuse for success”
- Minimum inverting factor in an array
- Exactly n distinct prime factor numbers from a to b
- Smallest number S such that N is a factor of S factorial or S!
If you know a top Geek whose interview should also be published, please drop an e-mail to firstname.lastname@example.org.
Let the top geeks inspire other students!!