This strategy works better than diversity training

We know a diverse workplace is good for the bottom line. We know diversity produces better, more innovative ideas. But employers are scrambling to train workers to be aware of their unconscious…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Programming as a sport

Like every sport it requires practice and persistence.

The only difference is that it does not require a lot of physical activity like many other sports. Programming, or coding, is usually considered a strategy to get a good paying job in the tech industry, but there is a large community of programmers who do it just for fun.

Wikipedia describes competitive programming as :

The main aim of competitive programming is to write code in an acceptable programming language (the languages allowed may vary from contest to contest) to solve given problems. The problems are generally mathematical or logical nature and require comprehensive knowledge of data structures, geometry, number theory and graph theory to name a few. Problems related to Artificial Intelligence and Code golf are also popular nowadays. It’s called “competitive” coding but most people get involved only to improve their own coding skills or just for the thrill of it.

11coders - ACM-ICPC 2016 World Finalists from IIT Roorkee

Competitive coding is all about thinking quickly to break down the problem in the most optimal way possible and implementing it in a programming language. A lot of people are engrossed in competitive coding for the sheer thrill of it — the adrenaline rush and the satisfaction of getting your solution accepted. Competitive programming has a very large and diverse online community including school and college students and even people working in big tech companies. In my opinion, everyone who wants to code should at least try their hand at competitive coding.

Here are some things that competitive programming won’t teach you

Then why should you do competitive coding? Sure, competitive coding is not the ultimate coding practice but if you’re good at it, standard coding interviews will be a piece of cake for you. These interviews generally require you to solve a programming problem or puzzle and if you’ve had good practice, you shouldn’t have trouble in solving the problems or explaining your solution to the interviewer.

Competitive coding also provides a good platform to display your skills. A good ranking on a competitive programming profile is just like a good Github contribution chart. It indicates that you can actually code well and improves your chances of getting an interview. You are habitual of getting challenging problems and do not get intimidated easily on seeing a problem that you’ve never seen before. You also learn to read your own code to debug it in case your code fails to get accepted. While participating in team contests like ICPC, you also learn to think,code and debug as a team which is probably the most important skill required in the industry today.

But competitive coding serves a greater purpose than just getting you a big paycheck at a tech company. It helps to improve your knowledge of data structures and algorithms tremendously and develops your logical and analytical skills, which are hard to instil otherwise. The fact that these skills are hard to teach in a classroom or work environment is what makes these skills valuable for the companies. You become proficient in your language of choice and can get pretty fast working with the libraries and syntax. Additionally, you might also win free t-shirts and/or goodies in the contests!

Applying algorithms in real world problems like

Although competitive coding does not involve any other aspects of programming like Machine Learning, Artificial Intelligence, Networks, Cryptography etc. but it sharpens your mind and makes it relatively easier to learn new paradigms. In the end, competitive programming is not everything there is to do in the gargantuan world of programming, and to be honest it’s not everyone’s cup of tea. But, I suggest that everyone must at least try their hand at competitive coding and if you think it’s not for you, there are numerous other things to learn like Open Source, Data Science and Network Security.

Also show appreciation by clicking the ‘clap’ button if you liked the article.

Add a comment

Related posts:

I Need To Start

This is a very common routine for me: come up with an idea, get hyped on the idea, sell the idea to my friends, research for a few hours up until the point where I need to take my next step and then…