As a rule of thumb, competitive coding gives you a better understanding of the algorithmic principles, how to solve a given problem in the most optimal timeframe.
However, from a strictly real world point of view, competitive coding doesn’t necessarily teach you how to write good code, make the most optimum use of memory and other resources, or how to work in an organisational structure - keep your work documented, interacting with other developers, version control, etc.
So, Why should you learn competitive coding?
The most straightforward reason of them all — most companies test your competitive programming skills when they are looking to hire.
Competitive coders have a significant edge over the others while during such tests/interviews. A high rank in competitive coding leaderboards is indicative of your good problem solving aptitude and thinking functionality in the face of limited time. It definitely stands out as a feather on your cap.
What is competitive coding?
Competitive Coding is about thinking of how to break down a problem in the most optimal way possible-it augments your problem solving skills. With increased problem solving skills, you are able to Function well in a work environment with quick, on your feet thinking, breaking down a problem in the least possible time.
Competitive coding also gives you a good grasp of the fundamentals- discrete math, data structures, and algorithms, which can stand you in good stead.
The thrill of it- the sheer challenge that competitive coding provides: the satisfaction of arriving at the right solution is in itself a major reason to just dabble in competitive coding.
That being said, the real world coding is not the be all and end all of coding. It has very few practical applications. In an organisational structure, the skill-set honed using competitive coding is rarely ever the skill-set used. However, Open source contributions are more in line with the real world coding skills required.
To put it in a nutshell, although competitive coding is not the most practical of coding practices, but it is a skill we should all try to learn. If, you discover that you have an inclination towards that skill-set, it will pay you rich dividends.
If, competitive coding is not your cup of tea, its not the be all and end all of programming- it is absolutely not necessary to force yourself to learn it or like it. Try your hand at other ventures like open source — just try to find your niche and excel at that.
Shout-out to all those who shared their views with us Rishabh Shukla, Manish Kumar , Pranit Bauva, Ankit Raj Jha , Gautam Prajapati, Bhagat Singh, Satwant Rana, Rishubh Singh, Prateek Narang, Vaibhav Gupta, Jaskaran Singh
Blog credits: Arathi Krishna S