Here’s why competitive programming is fun and not fun:
Competitive programming is fun because it can drive your skills, help you meet fellow programmers, give you career opportunities, and come with the thrill of victory and success.
Itโs not fun in cases where it can eat up your time, end in disappointing competition results, and impair your general coding skills.
So if you want to learn all about what makes competitive programming both fun and not fun, then this article is for you.
Let’s get right into it!
What Is Competitive Programming?

Are you deeply familiar with competitive programming?
Have you won multiple international competitions and built worldwide fame as a great programmer?
If so, why are you even reading this?
Surely, you know everything there is to know about the good and bad sides of competitive programming.
Or, maybe youโre not super familiar with the genre of competition, and you want to learn a little more before you consider investing a lot of time into it.
In that case, letโs take a minute to talk a little bit about what is involved with competitive programming.
In general, it involves a carefully crafted challenge that allows programmers to directly compete with each other.
More often than not, a competition will pose a problem to the participants, and they are charged with writing a program that will solve the problem.
Competitions are usually timed, so the person who can solve the problem in the least amount of time will win.
There are many variations in competition, but this is the most general explanation, and it sets the stage.
Competitive programming encompasses the world of these various competitions.
Whether or not it is fun depends on how you feel when you participate, so letโs get into some of those feelings.
What Makes Competitive Programming Fun? (4 Reasons)
Now that you know a little more about competitive programming, we have two questions to address.
Why is it fun, and why is it not fun?
Thatโs best answered in completely different sections, so why donโt we start with the fun stuff?
Below are some of the most compelling reasons that people enjoy competitive programming.
#1 Winning

Winning is fun. Itโs ok, to be honest about that.
Winning can be fun when it doesnโt matterโlike winning a game of Go Fish against a sibling. It can also be fun when it is a programming competition.
Since competitions come in many shapes and sizes, winning does too, but the simple fact is that you invest time and energy into these competitions, and if you do win one, youโll probably enjoy it.
Thatโs how competition works.
So, if and when you win a programming competition, it will probably feel like a lot of fun.
#2 Getting Better at Programming
As many coaches will probably tell you if you compete in enough different things, itโs not all about winning.
Thatโs definitely true with competitive programming too.
Originally, the competitions were designed to help people hone specific sets of skills that apply to general programming. And, the competitions are usually pretty good at that.
You might see people talk about how competitive programming isnโt real programming, or how it doesnโt help you work as a professional programmer.
Iโll address a lot of that later.
Before any of that, though, competitions can help you think about certain aspects of algorithms and resource management.
And, the time constraints of many competitions will force you to master specific aspects of programming to a higher degree.
When you see your own progress, it can be a lot of fun.
#3 Making Connections
A lot of programming competitions are online events, and you might not get a ton of opportunities to meet people, make friends, and do all of that social stuff (although some online socializing does happen and can be fun).
Some competitions are in-person.
If you attend those events, you have a chance to meet a bunch of people who enjoy programming as much as you do.
Whether or not you are competing, and whether or not the people you meet are competing, itโs an environment where you can make connections with people.
You can make friends, which is usually fun.
You can do some professional networking, which can also be fun.
You can make memories in general, and who doesnโt enjoy that?
#4 Major Events
In-person competitions can range in size, but there are some competitions that are tied to major events.
Just to give you an idea, some of the best-known include Google Hash Code, the Facebook Hacker Cup, and countless college-sponsored tournaments.
Many tournaments have online rounds, but the finals are often held in person. These are usually tied to large events.
There are tons of things to see and do at the events, tons of people to meet, lots of networking opportunities, and whole production around the finals of the event.
It can be an enjoyable time if you make the most of it.
When Is Competitive Programming Not Fun? (4 Things)

Thereโs a lot of fun to be had with competitive programming.
Yet, there are billions of people in the world who never partake in the action. Why is that?
Well, competitive programming isnโt all fun and games.
If youโre really trying to win, thereโs a lot of hard work involved.
Even if you enjoy the practice and hard work, the time and energy you put into competitive programming can come at a cost.
After all, thatโs time and energy that you arenโt putting into other things.
With that in mind, Iโve listed a few specific cases that might make competitive programming seem a lot less fun.
#1 Losing

When you invest a lot of time and energy into preparing for a competition, only to lose, then that moment isnโt always the most fun.
Naturally, this will depend a lot on you.
Some people lose gracefully and have plenty of fun with the process even when they donโt win.
Other people can take losing pretty hard.
If youโre in the latter group, then you might not look fondly at a competition right after losing.
Ultimately, this doesnโt mean that competing is miserable across the board.
Instead, thereโs a moment of unhappiness that might come when you donโt win, and you have to see how that balances across the other moments tied to competition.
#2 Long Hours
When you take competitions seriously and try to win very competitive events, you have to try really hard.
Many of the best competitions are international, with thousands of professional programmers entering them.
Youโre not going to win these things on a whim.
That means you have to put in long, grueling hours to master the skills and fully prepare for each competition.
If youโve ever seen a sports movie where the main character (or characters) pushed themselves to the limit and endured all kinds of physical pain, programming competition preparation isnโt entirely different.
It might not come with lots of sweating, but there are very long hours smashing your brain against challenging ideas.
Itโs not an easy journey, and if you donโt enjoy the process, then these long hours will feel miserable.
#3 When Competitive Programming Doesnโt Help Your Resume
If youโre getting into competitive programming so that it will help you get a job, you might be in for a disappointment.
There are occasions when saying that you won a major competition looks good on a resume, but in a general sense, competitive programming doesnโt translate into a programming day job.
In reality, the way you spend your time preparing for a competition is very different from the way you will spend the majority of your time at a regular programming job, and because of that, the competitive experience often wonโt help you get hired.
Now, the networking that can happen at competitionsโwhere you meet other programmersโactually can help you get a job, but thatโs another story.
If you put a ton of time into competitions and still canโt get a job, itโs easy to feel resentment.
The time spent on the competition might not feel as fun in hindsight.
This doesnโt mean you shouldnโt do competitions if you enjoy them. It simply means that you canโt count on competition alone to advance your career.
#4 When Competitive Programming Hurts Your General Programming Skills
This is debatable, and to be perfectly honest, I have never joined a programming competition.
Iโve observed them, but I havenโt participated.
So, I wonโt say that competing definitely hurts your programming skills.
Instead, Iโll say that there are definitely people who believe this is true.
With that in mind, letโs explore how competitions could harm your general programming skills.
In order to prepare for a competition, you have to anticipate what questions will be asked and how you can solve the problem of the competition.
Thereโs a ton of variety, but competitions are usually timed, and even for the ones that last multiple weeks, the scope of the challenge is going to be much smaller than what you would normally do at a programming day job.
Competition is over in a set amount of time.
Building programs for a professional firm can take years.
Theyโre on different scales.
So, when you hone your competitive skills, youโre specifically zeroing in on ideas and solutions that are simplified and faster than the normal work for an everyday programmer.
That limited focus can pull you away from lines of thought and skills that everyday programmers would need on a regular basis.
As a specific example, competitions usually donโt require extensive program documentation.
Meanwhile, if youโre working on a section of code that fits into software with millions of lines of code in total, itโs extremely important to document things thoroughly and efficiently.
After all, other programmers will work with your code in many different ways, and your documentation is how you prevent them from getting lost.
All of this is to say that if your competitive programming development hinders skills that you need for your day job, then that isnโt the best outcome, and it might sour your competitive experience.