# 5 benefits of competitive coding

#### Pratik Singhal

Instructor SDE-2 @ Amazon

Traditional competitive coding is a mind sport where you compete with multiple people in solving algorithmic problems. After solving the problem theoretically , you need to implement it and submit the program to an online judge which then evaluates it.

Although the traditional definition of competitive coding involves competing in a time bound contest, many people prefer solving these problems in a much more relaxed environment.

Irrespective of whether you are a traditional competitive programmer or just solving algorithmic problems, if you keep on solving problems regularly , you will see a lot of benefits which include:

### Improves your chance of getting hired.

Interview process of all the tech giants and other software companies is highly biased towards hiring people good at solving algorithmic problems within a given time. This is true , for both online coding round as well as for onsite whiteboard coding interview rounds.

If you dream to be a part of a big tech giants like FAANG companies and are confused about how to increase your chances of hiring, start by creating an account on websites like Codeforces and start taking part in short contests. This step alone will give you a clear edge over other candidates while appearing for interview.

### Improves your understanding of algorithms

When we study algorithms just for clearing exams, we rarely pay attention to the correctness of the algorithms or the multiple different variations of that same algorithm. for example, when studying Graphs for exams you will study about BFS, but while solving problems on Graphs, you will come across several variations of BFS like 0-1 BFS.

When you solve problems, you will be constantly required to think about the assumptions, you will learn more about different invariants involved in each algorithm, which will drastically improve your understanding of algorithms.

### Makes you faster

If you keep on solving more and more problems, you will notice that your speed has increased. This is because of two reasons :

• Whenever you see a new problem, there is a very high chance that you have seen a similar problem before. Therefore, you can think of the solution to the problem very quickly.
• Makes you smarter : Successfully solving a problem requires the combining logical ability along with computer science concepts. Practicing these two on a daily basis, will improve your logical thinking "muscle" making you smarter.