Geek on the top is all about success stories of Geeks who are working hard to chase their goals and are the inspiration for other geeks.
Pratul Kumar is a prefinal year student from LNMIIT and is working as a Google Summer of Code(GSoC) developer at SugarLabs. Pratul has started a PyJaipur community with thought to organize local meetup where learners can come together and share their knowledge. He believes that 25% learning of our life comes from our peers.
How did it all start? What made you land into the world of competitive programming?
I started programming in 11th Standard. Solving real-world problems and developing cool stuff was always one of my inspirations.
There was a lot of pressure during the JEE preparation. During that period, I wasn’t able to code much. As I always had a deep interest in programming, I chose Computer Science as my preference at LNMIIT rather than any other branch in one of the IITs.
After coming to college, I had quite a bit of free time in my 1st year. It was the crucial year to start preparing so that I can follow my passions and achieve my dreams. I used to practice a lot on Coding websites. Later on, for some time, I tried my hand on Android development for a month or so, but that didn’t seem too interesting. Finally, I switched on to Web Development and started working with frameworks and libraries like Angular, React, Node and the related NPM module.
How does it feel to be working as the Google Summer of Code(GSoC) developer at Sugarlabs?
Google Summer of Code(GSoC) is a student development program where a student is required to make a suitable open Source contribution for a period of around 3 months. Google provides a really good stipend and support for the selected projects.
I started my first active contribution in the month of October and then further became a Google Code-In mentor for Sugarlabs in the following month. This was the main factor which helped me gain a stand for my GSoC project. I was in touch with the community every day while exchanging all kinds of knowledge with my precious community members.
Google Summer of Code provided me with an opportunity to work for a real-time existing project which is being deployed and used by people. I learned a lot and it made me explore a whole new realm. I learned how to contribute to an organization remotely with patience, consistency, dedication and commitment.
Sugarlabs has a great community with kind people like Walter Bender who is always there to support you in any situation at any time of the day. I firmly believe that if I weren’t a part of Sugarlabs, I wouldn’t have grown this much.
How should a student prepare for GSoC from the scratch?
Google Summer of Code (GSoC) is all about what you contribute to the Open Source world. If you’re a student who is aiming for GSoC then the first thing you should do is to make yourself comfortable with version control system, Github and how remote contributions are being made.
Pick a language you want to work with, be it C++, Python or anything else, it doesn’t matter. The important thing is that you’re interested in that language and the organization you’re hoping to work with is also working with it. You should make a list of organizations who are currently working on projects using the language you’re interested in. This will help you a lot in filtering out. Now, from those organizations, you should hunt for projects you’re interested in and stick to it till the end.
Get in touch with the organization’s community as soon as possible as they are the best guide you can ever get for GSoC. Another thing to note is that before asking any question, you should make an effort to solve the problem yourself. You should raid websites like GeeksforGeeks, StackOverflow, etc. and shouldn’t be completely dependent on your organization.
You should always keep a few factors in mind like perseverance and proper communication with the organization. Don’t wait for the end moment to work but start preparing early to be a step ahead of all. Choose your project, work with the community, make your proposals, work hard and always keep in mind “Make every contribution count”!
How did you come to know about GeeksforGeeks? How did it help you?
I came to know about GeeksforGeeks in my first semester. I must say that in my journey, GeeksforGeeks has been my best companion. Visual representation of anything makes it easier to grasp a concept and GeeksforGeeks has the best content for this. It really helped me a lot.
Even when I used to ask my seniors regarding any coding problem or any algorithm, they would always advise me to check GeeksforGeeks. They used to say that GeeksforGeeks has a solution to every possible problem. It’s been two years since then and I can only see the website growing in every direction limitlessly. Be it CN, OS, Algorithm or Data Structure, you can find new content being added every day. A few days back, GeeksforGeeks also started its Sudo Placements and the best part is that it’s completely free to all. All the premium resources that are so hard to get are shared with everyone at no cost.
I was also the Campus Ambassador for GeeksforGeeks last year. I got my first glimpse of working with an organization was at GeeksforGeeks only.
What do you like to do in free time apart from programming?
There is a popular belief of peer learning and growing together. For that purpose, I have started a PyJaipur community with thought to organize local meetup where learners can come together and share their knowledge. Till date, there are 4 successful meetups under my guidance.
There is lot of fun in mentoring new students who are just getting started with technology. As a Coursera Mentor for HKUST University, my responsibilities were to guide students in Web development technologies and started Google CS First Program. I also organized a Mozilla Workshop on Open Source and was a mentor for ‘1 Million Women to Tech’, GirlScript, and Wootech. I love to interact with people, I have a belief that 25% learning of our life comes from our peers.
How did you handle the stress while competing to code? What are your suggestions for other students for the same?
Always remember, if you want to convert a stone into a diamond, you require a lot of time. Now consider a case, where the stone was not dropped several times or pressurized strongly, would that stone be as good as a real diamond? So, the gist is that the stress on the human body acts in a similar manner, but that pressure should not break or crack the diamond in you.
While doing competitive coding, don’t take it as a race. Consider it as a sport you play or a serious hobby you picked up. Your first responsibility is to be consistent. You should have the passion to improve your skills first and then later care about the competition. All the hard work that you’re putting in will always be useful. It’s for your benefit only. Rather than showing off, you should share your knowledge and cherish your success. Believe me that sharing knowledge makes you understand the same thing in a much better way.
What should one keep in mind when beginning to pursue the Competitive Programming & job preparation?
As an old saying goes “Learning is not a race”, so it should not be treated like same. People shouldn’t rush for things that they can’t handle. Enough knowledge of the domain must be your first preference instead of rushing to compete with others.
So the first advice to my peers is to have some basic knowledge of Data Structures and Algorithm before you try to do anything. You should always go through the practice questions first and invest time in this venture.
I believe that as of now, GeeksforGeeks has the best set of practice questions that anyone can start doing. Also, you should always follow a T approach. T approach means that you should have sufficient knowledge in all the domain and in-depth knowledge in one of the topics. The topics which should be given more attention are OS, CN, System Design, Introduction to Database Course, etc. Also, create a list of the companies you would like to target according to your current skill set and domain. Keep gathering knowledge about that company and keep checking websites for previously asked questions like GeeksforGeeks, LeetCode, InterviewBit, etc. and be very confident on the day of the interview as confidence is the thing that resembles you everywhere.
One thing in last I would like to sum up is that there is no shortcut to success, people will try to deviate you, make nasty comments in your journey but it’s your responsibility to stick with your plan and work accordingly.
- Selected as Google Summer of Code(GSoC) developer at SugarLabs
- Became Google Code-In mentor for Sugarlabs
- Coursera Mentor for HKUST University
- Mentor for ‘1 Million Women to Tech’, GirlScript, and Wootech
- Started a PyJaipur community for local meetup of people to learn through peers
If you know a top Geek whose interview should also be published, please drop an e-mail to email@example.com.
Let the top geeks inspire other students!!
- Nikhil Kumar - Geek on the top | "Never follow the crowd, be the face of it"
- Nitish Kumar - Geek on the top | "An opportunity may come from anywhere, so always be prepared"
- Nafis Sadique - Geek on the Top | Seniors should take the responsibility to introduce the junior students to the world of programming
- Harshil Shah - Geek on the Top | Solving lots of easy problems are not as beneficial as practicing some hard problems
- Aditya Gupta - Geek on the Top | Participating alone increases your level, no matter you win or not
- Jeel Vaishnav - Geek on the Top | “Our greatest glory is not in never failing, but in rising every time we fail”.
- Shashank Pathak - Geek on the top | Don’t let your mind get diverted to the consequences of not solving a problem
- Sumeet Varma - Geek on the Top | Actual fun begins when you solely concentrate on finding algo to solve a problem
- Ayush Jaggi - Geek on the top | Get frustrated by TLEs and WAs, Higher the frustration - better the code
- Rodrigo San Martin Monroy - Geek on the Top | Extract common topics from previously asked interviews of the company you want to join
- Vaibhav Gosain - Geek on the Top | It is important to solve problems which are a bit above your current level
- Aashish Barnwal - Geek on the top | Make a habit of writing clean, readable, flexible and robust code
- Vicky Tiwari - Geek on the top | Don't forget to read editorials and upsolve problems after each contest
- Abhishek Verma - Geek on the top | "Think Big to Achieve Big"
- Sahil Garg - Geek on the top | "First Solve the Problem, then Write the code"
- Rachit Jain - Geek on the top | "Stop starting, start finishing: Don't just give up on things and then start doing something else"
- Gaurav Sen - Geek on the top | Patience is the key factor for a good learner
- Anmol Mishra - Geek on the top | “There is no excuse for success”
- Siddhant Gupta - Geek on the top | "Opportunities don't happen. You create them."
- Akshay Miterani - Geek on the top | "You miss 100% of the shots you don’t take. So shoot more!"