Why Is It So Hard to Consider Yourself "Good" at Competitive Programming?

Revision en2, by livenlife453, 2026-09-24 02:45:59

When I ask someone how good they are at chess, the response I get most often by far is "I'm decent." How decent? Well, from my experience, it ranges anywhere from 600 rated, a below average chess.com player, to 2400 rated, nearly a master level player. Almost no one ever says they are "good" at chess. To me, Competitive Programming seems to be similar. So what is "good" in competitive programming. And why is it so hard to consider yourself good?

Now statistically, the vast majority of Codeforces accounts are Newbies with ratings below 1200. Div 3 and Div 2 contests have tons of them, solving only 1 or 2 problems. But does that make a pupil "decent," or even "good?" There's a reason most people won't be satisfied with that conclusion: a lot of these newbies have yet to put in serious effort. Of course, some have, but many are simply normal college students who wanted to try it out for fun. Lets go back to chess. If a 600 ELO chess player go to a random city and start picking out random strangers to play chess against, they would likely win 90% of matches. The reason being a large portion of people wouldn't even know how to play, much less how to play with any reasonable skill. Can you call yourself "good" just because you can beat those people? Most wouldn't say so.

So where do you draw the line? At what point does someone have enough skill that beating them is an accomplishment worthy of calling yourself "good"? This is the primary reason so few people consider themselves "good." Simply put, beating someone you feel is clearly worse than you will rarely feel like much of an accomplishment. On the contrary, you will see beating better programmers as an accomplishment, but that will rarely happen, and those better programmers don't see beating you as an accomplishment. The result? No one feels accomplished.

Newbies look up to Pupils and wonder, "Man, will I ever get good like them." Pupils look up to Specialists and wonder, "Man, will I ever get good like them." Specialists look up to Experts and wonder, "Man, will I ever get good like them."

The expectations are simply different. If a pupil solves A-D Div 2 (A-B Div 1), they will be thrilled. If a master solves A-B Div 1, they will feel like slamming their head against the wall.

Making this worse is what is known in competitive scenes as the "Missing Middle." This forms primarily in games and competitions that have a high skill ceiling and involve no luck, which I would argue competitive programming falls under. When a scene has a "Missing Middle," there are a decent number of extremely skilled players that take the spotlight, and a ton of players who are completely new to the scene and have no idea what they are doing, but very few people who are in the middle of their journey in developing into highly skilled players. This relates back to the psychology of considering yourself "good."

Lets take a simple example. Suppose there is a no luck high ceiling game that takes 1 year to become a highly skilled player at. I'll use Maimai for the context of this story. People try it out often. You see tons of new players every day. But given that they have just started, they are absolutely terrible. Most get disappointed or don't understand and give up. You don't. As you rise in skill, you start feeling like everyone who isn't completely terrible is way better than you. This is because those players are simply more active, and had a bigger range to develop. They may have taken their "1 year to become highly skilled" 3 years ago, and are now regular players. Another may have done theirs 5 years ago, another 2 years ago. These players could have developed anywhere from 1 year ago to... forever ago, and you will still see them. You rarely ever feel accomplished. You can't beat anyone who isn't complete garbage. You can't consider yourself good. Now, lets say you stick through it, complete your 1 year of improving. You now have improved your skills, impressing all the newbies, but against someone else with actual skill, you just seem normal. And because the time you can play as a highly skilled player heavily exceeds the time it takes to become a highly skilled player, you are warped into believing your skill is simply "decent," not "good."

When you are new, you feel, and know, you are "terrible". When you are developing, you feel like you are "okay" at the game, even though everyone else was just like you at one point in time. When you are skilled, you feel like you are "decent", because your skill is now comparable with everyone. At no point do you feel like you are "good."

So what point am I trying to make with any of this? Stop being so hard on yourself. Take the time to look back on how far you've come. Even if you've done 10 contests and are still only 600 rated, you did 10 contests. Most people don't have the motivation to do that, and you won't notice the tens of hundreds of thousands of people who quit because they won't be online to notice. And more to the point, take solace that you spent the time to improve at something, because that shows character that many people in this world lack. I guess, just be kinder to yourself. You are probably better at CP than you think you are.

Tags good, reflection, rating, skills

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en2 English livenlife453 2026-09-24 02:45:59 178
en1 English livenlife453 2026-09-24 02:36:03 5403 Initial revision (published)