Starting to code is a challenge. Not only there are multiple domains and languages, to begin with, but also now there are multiple platforms as well. I started to code last year. There were various suggestions I got as a code newbie. Although the best one my friend gave-
“You will regret each day, that you don't start HackerRank.”
Here, I will try to help people who have just started this journey of Competitive Programming and Problem-Solving. This venture of learning a new language is surely not the easiest one. Even a tad bit harder for Self-Taught Programmers. HackerRank is a real savior to all of the frustrated and confused newbies out there.
Every coding platform I came across so far, HackerRank has the Best UI/UX. The platform is very intuitive. It is a free platform, that is very necessary for any beginner for practicing. The platform can be used to learn new skills and to improve on them as well. It helps the beginners to navigate and explore the platform.
Let’s start with reasons to use HackerRank as a beginner-
- As a beginner, one learns more from seeing the solution of others, after solving the problem himself. HackerRank makes sure that there are editorials and discussions for each problem on their platform.
- The most important point to address is here. “On the path of learning new skills, demotivation leads one to discontinue on the way. Keeping the morale high is important”. The platform gets this very well and motivates the beginners with badges and confetti. This not only motivates beginners to keep going but it gets a little bit addictive too.
- The questions in each category are classified as Easy, Medium, and Hard. So, one doesn’t get stuck with a question that might be a little too hard for you. Moreover, there are categories such as Warmup, Sorting, Greedy, DP, Recursion, etc. You can choose the subdomain of questions to improve and practice in that category.
If one is stuck on one problem for a long time, they can seek help at the expense of their Hackos (HackerRank points system). This prevents them from seeing answers to each problem and uses it only in dire conditions. One can also use the Hackos to unlock those stingy TCs that lapses time limit, runs to Segmentation, and Runtime errors. There many ways to earn Hackos.
The IDE offers a dark theme (very important for us now). The IDE saves your Boilerplate code for you. For people who don’t know what boilerplate code is, it's a set of a pre-defined set of code in the language you often use. Boilerplate code can be the topic of a whole another article, so moving on.
It's almost like a social networking platform. People can follow each other and text. This increases competition among friends and thus is very helpful.
Now I would like to describe the sections available in HackerRank. This will further help you understand the pros of the platform. There are four sections that I can divide the questions set into-
1.Language Proficiency- This section is available for most of the major programming languages (C/C++, Java, Python, etc.). As the name suggests, it helps coders to get a better grip on the language. The questions which are put in front of you have a predefined set of code. You have to understand the process of taking inputs and displaying the results. Only then you can code a function for the results. This predefined code is not editable thus, to clear the question you have to understand the pre-written code. It's a very nice way to learn a new language. You cannot learn a language until you have solved enough questions in it.
2.Problem Solving- The section is my personal favorite. The section is the one any competitive programmer must focus on. A programmer must not be stuck in any one language. Neither his/her proficiency in only one language helps them. Language is just a tool for you and you have to learn them on the go. A tool is only good when you have the skills. This section is to improve that skill. The problems don’t have restrictions to follow on a pre-written code. So, it's total up to you, any language, any approach you like. There are several questions for you to solve thus have all the opportunity to learn.
3.Interview Preparation Kit- This section is the one I can’t comment a lot on. I have never gone through all the 69 Questions for interview preparation. But still, I can vouch that this section will also be useful if someone is interested in solving it. There more other options for interview preparation.
4.Certification Tests- This is a 90 minutes test that tests your skills with two questions. This is a fairly new section that was added to the platform. There several domains of the tests they offer. Well the greed of certificate aside, it is good for a beginner as it boosts their confidence in the skill. As a competitive programmer whatever language, one learns only solving problems in a set time will let you know your level of expertise on it.
Now, several people have doubts about the worth of the badges and certificates distributed over here. I would like to tell everyone that a great sportsman is not appreciated for the practice they do. There is a difference between practice and performance. Similarly, this platform is for Practice and for one to work on their weak topics. If one is appreciated is for practice it’s really helpful and motivating. Don’t use the platform to earn badges and certificates, rather focus more on questions and skills.
Summing the article for all the beginners, I would like to say –
“You will regret each day, that you don't start HackerRank”
My Hackerrank Id:
https://www.hackerrank.com/kitarpsinghrajp1