A sport of the mind
When we think of the term “competition” one of the first things to come to mind is sports. Sports have been commonly defined as an activity largely associated with physical athleticism and dexterity.
However, this notion is not the whole picture; sports can take the form of non-physical activities such as chess and bridge, which have been recognized as bonafide sports.
These types of sports are what’s known as “mind sports” or “mind competitions,” contests that evaluate intellectual ability rather than physical exercise.
Defining competitive programming
Competitive programming (CP) is classified as a mind sport in which programmers attempt to solve specific problems or puzzles given certain specifications. These competitions have been around since the 1970s, with the earliest known contest being the International Collegiate Programming Contest (ICPC).
Since then interest in CP has been correlated with the growth of the Internet, which has facilitated international participation in the sport. It’s not enough to simply type code in CP; it is an activity that demands creativity and analytical acuity to produce elegant and efficient solutions.
Performance is primarily measured based on the number of host-provided problems solved under a time constraint. CP formats are split between short-term and long-term with the former generally lasting a couple of hours and the latter lasting from a few days to a few months. Some notable contests in CP include Google CodeJam and Facebook HackerCup.
Why do competitive programming?
Participating in CP can have a wide range of benefits, including:
Exposure to potential employers
Tech companies, especially those among FAANG, track competitions to find potential employees (some competitions are even hosted or sponsored by said companies). Participating and doing well in these competitions let these prestigious companies directly take notice of your technical ability.
Fostering teamwork skills
CP is a sport and like most sports achieving success is a team effort. Participation in CP lets you get accustomed to working with others of varying backgrounds, technical abilities, and experience. Furthermore, you’ll appear more desirable to companies who expect candidates to be able to work effectively and comfortably in a team.
Improving speed and concentration
The software development industry involves solving problems and writing code with strict deadlines. Participation in CP trains you to adapt to this competitive and fast-paced environment. In addition, you become more disciplined and efficient and are taught how to focus on a given task.
Welcome to competitive programming, an expansive gateway into the art of thinking.
Really liked your job. Will you improve them with algorithm and programming language tutorials?
My question is how to start Coding competitively? it sounds wonderful in mind, but in reality people might get lose on how to start.