Rating changes for last rounds are temporarily rolled back. They will be returned soon. ×

SlavicG's blog

By SlavicG, history, 22 months ago, In English

Introduction

Rating is a great measure of skill and a nice way to observe progress by comparing yourself to your past self and seeing where you stand in the community. As great measure as it is, there are a lot of problems that come with it. They have nothing to do with how the rating system works but rather with how human beings function. In this blog post, I will talk about some of the most pressing personal problems that come up with rating and try to provide some advice on how to solve them, speaking from personal experience and from the experience of a lot of other people I know.

Associating self-worth to rating

This is, in my opinion, the most significant problem people face, and it also pretty much contains all the following problems as a subset. It's extremely easy to fall into this rabbit hole since, as a competitive programmer, it only feels natural to associate our rating with intelligence and, respectively, our intelligence with self-worth. Why is this such a big problem?

  • First of all, any rating loss will feel horrible. Around a year ago, I faced the same problem, and after each rating loss, I would have a terrible mood for a few days and, well... feel like I was an idiot. I wouldn't even enjoy the things I used to like doing since I wanted to practice more in order to become smart again! So, I could spend entire weeks just practicing and feeling guilty about doing other things due to not being content with the color of some virtual points next to my name...
  • Toxic motivation. Even though it did work as motivation to practice more, it reduced all joy I had in problem-solving, and, in the long run, such "motivation" is only hurtful. In order to really be good at something, we need to enjoy what we are doing and not be motivated by disliking who we are now.
  • At some point, even the positive deltas start feeling horrible — "I got just +100, but if I got five more, I would have gotten a new rank! Why couldn't I have gotten the five extra points? Am I too stupid? Why was I so slow on the problems? If I moved a bit faster, I would have gotten the LIFE-CHANGING color!!!" I've been hearing complaints like this after almost every Codeforces round, and doesn't it sound terrible? You actually got the positive delta you wished so much for, and instead of celebrating it, you are complaining about not getting more. Then, what will bring you happiness? Even if you got a new rank, wouldn't you just wish for more after getting used to it? And how would losing it feel?
  • Affecting one's confidence. When caring so much about rating, it's easy to feel very unconfident in your abilities after performing poorly in a contest. I also have several times stopped believing in myself after having some consecutive bad performances. But it can happen the other way too. When I first hit expert, I was incredibly happy. I felt like I was a god. Then, I went to school with the idea of showing off how great I was, expecting praise from everyone. Well, no one cared. I wasn't a god. I was the same guy I was yesterday for all my friends. And that's normal, isn't it? Well, for the 10th-grader me, it wasn't. It felt demotivating and made me devastated again, even though I’d actually achieved the long-awaited result.
  • Thinking you don't deserve things — "Why are these great people even talking to me? I am just a specialist. Why do I have the respect of a grandmaster, and why do they take out their time in order to talk to me, no-one?". It can even get to this level!

It gets to the point where life gets just sad. It makes you lose the joy in your passion and, pretty much, in life.

Advice/Solution

Thinking about it, what did really change? Wasn't I the same person I was just a day ago, before the rating loss? Why was I smarter back then and stupid now? It really doesn't make sense. I could have only learned more by failing in a contest, so I really could have only improved since then. And why would people not talk to me if I were a specialist and not an LGM? Rating isn't the only thing that defines us, humans. We are much more than that.

But yet, even though we understand all this on a logical level, it's way easier said than done to get rid of this toxic mentality...

If you think you have such a mentality, you are already on the right track! The first step in solving any problem is identifying it! Now, here are my pieces of advice.

  • The most important step is to start taking control of your own thoughts. Realize you are much more than your rank. Don't judge yourself solely based on your rating.
  • Did you get a negative delta? That means you learned something new, you gained experience, you participated in a contest, and that's what you enjoy, isn’t it? It won't always go your way, and you should realize that. Additionally, the rating loss won't matter after attending a few more competitions. Stop self-deprecating after any rating loss, and stop treating rating as if it was the most important thing in the world. It isn't. No, getting your dream rank won't be the thing that will make you the happiest. It will, of course, feel good, but with such a toxic mentality, it won't last long.
  • But, even though understanding this helps, it doesn't completely solve the problem, at least speaking from personal experience. As a competitive programmer, I surrounded myself with other competitive programmers, and most discussions were on competitive programming. Easy to start caring so much about your performances in competitive programming when it's all you talk and think about, right? It's important to balance your life. Find another activity that's not related to competitive programming at all that you simply enjoy doing, just for fun. Maybe you always wanted to learn how to play the piano or the guitar. Maybe you wanted to learn speed-cubing, get good at chess, or how to yo-yo. Maybe you have a book you always wanted to read and never got to it, or maybe you even want to start writing your own book. Just pick up anything, it will make you happy and a more interesting person to get to know.
  • Speak with your friends about other topics. What was the last book they read? What's their favorite tv-series and movie? What do they think of the new song that dropped? Who did they support in the world-cup? Why do they support Ronaldo and not the actual team? Is this more boring to find out compared to what their last performance was in a contest?
  • Get to know new people that don't even do competitive programming. What's the first question they ask you? I am sure it won't be what's your rating on Codeforces. You will realize no one really cares about what your rating is when talking in real life (even competitive programmers usually don't).
  • Take a small break from competitive programming. It doesn't have to be long. Just go on a holiday for 1-2 days. Go camping with your friends, visit another city or country, or go to the cinema or a restaurant. There is so much that, if you are like how I used to be, you forgot existed in life. Try to remember them.
  • Try changing the people around you. It can happen you have this toxic mindset because everyone in your circle also does.

Comparing yourself to others

This is another big problem that almost everyone faces. We are competitive programmers, so we compete. It only feels natural to compare ourselves to the ones around us, trying to become better than them. But, this again has quite a lot of negative side effects.

  • Envy becomes a big issue in this case. One can't even feel happy for his friends' success due to getting overpassed in rating or noticing their progress was slower. It happens that it can even make relationships way tenser and way more distant and cold.
  • It affects performance. One can't even focus on performing to the best of his abilities due to always worrying about how others are doing. During contests, one can spend more time checking the standings rather than actually solving the problems.

Advice/Solution

When you're trying to perform to the best of your abilities and don’t worry about what others might have solved, results are always better.

-A very wise person.

Just as the quote says, try not to care about others. Focus on yourself. Compare only to your past self. Where were you a year ago, and where are you now? What about two years ago? What about three? You most probably have come a very long way. By not comparing yourself with others, you are also more open to learning new things by collaborating. It's easier to work with others when you aren't jealous of them and don't focus on beating them, isn't it? Additionally, working with others makes learning a much more enjoyable, pleasant, and easier experience.

Being scared of losing rating

Of course, giving so much importance to rating will make one afraid of losing it. So, they will find a way to avoid this.

  • Not participating in contests. I know of quite a lot of people who got their desired ranks and just quit participating in contests, but this is detrimental to their further improvement. Contests are a great way to practice in a competitive environment, learn to deal with the competition stress, learn about new topics and just have fun.
  • Alting. Alting has pretty much all the downsides of not participating in contests. It's hard to treat contests seriously if it's not your main account on the line. (For legal reasons, this is a part where I am definitely not talking from personal experience).
  • Cheating. There are people who actually start cheating in contests due to fear of rating loss, and this is the worst thing one can do. It ruins the whole point of participating in the competition and brings even more sadness and cheating in the future when they won't be able to match the skill of their rating.

Advice/Solution

Really, just change your attitude! Enjoy solving problems and participating in contests; rating will come on its own, and even if you lose it, it will be easier to gain it back in the next contest.

Chasing results

It may sound weird, but chasing results usually only affects the said results in a negative way. The practice will usually be inefficient due to focusing on the end result rather than on the process of actually getting better. Additionally, it will only bring negative emotions when one fails to achieve their desired results, and everyone fails sometimes...

Advice/Solution

Enjoy the process! Improving yourself should always be the main goal. Chasing only results means you will only be based on extrinsic motivation, but the strongest one that really helps one grow is the intrinsic one. You need to aim for getting better, not for getting better results. I already said this multiple times, but I think it's necessary for any competitive programmer: Enjoy problem-solving and competing and let the results come on their own.

Conclusion

These problems aren't merely rating or CP-related. They’re pretty common in any sport. And the process of overcoming the toxic mindset that comes with them isn't easy, but it's necessary for further growth and for living a happy life, in my opinion. Just try working on yourself, making small steps every day, and one day you will realize this mindset was just in the past.

Thanks to keta_tsimakuridze for helping proofread the blog and useful suggestions!

  • Vote: I like it
  • +432
  • Vote: I do not like it

| Write comment?
»
22 months ago, # |
  Vote: I like it +46 Vote: I do not like it

I dont need therapy, I need new slavicg blog.

»
22 months ago, # |
  Vote: I like it +73 Vote: I do not like it

This getting posted right after slavicg falls to expert

  • »
    »
    22 months ago, # ^ |
      Vote: I like it +84 Vote: I do not like it

    Some have the privilege of falling to expert, and some don't.

    Marinush

  • »
    »
    22 months ago, # ^ |
      Vote: I like it +35 Vote: I do not like it

    I've been expert since last year.

»
22 months ago, # |
  Vote: I like it +6 Vote: I do not like it

blue chat 😂

»
22 months ago, # |
  Vote: I like it +6 Vote: I do not like it

within cells interlinked

»
22 months ago, # |
  Vote: I like it +24 Vote: I do not like it

omg slavicG blog

»
22 months ago, # |
  Vote: I like it +12 Vote: I do not like it

Associating self-worth to rating

THIS IS SO DAMN TRUE.

»
22 months ago, # |
  Vote: I like it +19 Vote: I do not like it

A wise man once said, "When you're not afraid of rating, you'll be red."

»
22 months ago, # |
  Vote: I like it +40 Vote: I do not like it

Very good blog, I wish more people will see this.

It is very relatable, I also had problems with this and eventually the anxiety held me back from improving. When I took a break, found other things to enjoy, I also started to enjoy CP more and improved without even realizing it.

»
22 months ago, # |
Rev. 3   Vote: I like it +50 Vote: I do not like it

You made some very good points here, this mindset has been prevalent in the competitive programming community over the last few years and it leads to environments which can prove out to be very toxic and dangerous to people's mental health and to their wellbeing in general.

On another note, this also leads to people making unhealthy obsessions over someone's performance as if they are about to become the next tourist or the next IOI winner. Even if that person ends up achieving those remarkable results, getting such comparisons can be very harmful and many young talents end up losing themselves on the way unless they have the chance to meet like minded people or mentors who can help them with dealing with being a prodigy and those group dynamics often seen in the community.

As a matter of fact, I personally dealt with the issues SlavicG mentioned in this blog, both as a contestant who was struggling with the attention people were giving me on discord servers but also with the illusion that I was worth nothing just because I was only a master while other people I knew were grandmasters or better. This dragged me back for a long time and I even had mental health issues by myself, which was part of the reason I started teaching, since I believe having people realize that one contest isn't everything can help them in a great way.

All in all, life is worth living and there is no reason to take a number on one's profile too personally. If one is rated less it doesn't mean they are worth nothing and it's not always that only the very best people can do well in life. Just the fact that you are on this platform and you can solve problems here on your own means you have better problem solving skills than 95% of the people, in my opinion.

Once again, a very well made blog and I genuinely hope this can lead to the start of a change in the community, since those things were long due to be said for a long time.

»
22 months ago, # |
  Vote: I like it +21 Vote: I do not like it

They have nothing to do with how the rating system works but rather with how human beings function.

Guess I'm a robot.

»
22 months ago, # |
  Vote: I like it +7 Vote: I do not like it

My strategy is just to not participate in contests until I know I have got alot better so when I do eventually do a contest and get big delta I will be happy

»
22 months ago, # |
  Vote: I like it +41 Vote: I do not like it

Thank you for this very timely blog. I've been on a slump the last few contests and I've been lamenting my own lack of implementation skill during those contests. I used to be accepting of negative delta but upon closer inspection my first thoughts about these performances were "I was so close to a huge delta but it turned into negative delta due to being bad and not being able to fix these bugs". I think it's natural to feel bad when doing badly, especially when it's due to some WA by one character or a couple of lines of code, but realizing that I thought about the rating change before anything else after reading this blog and reflecting about it was surprising, considering that the only reason I've actively dodged a round ever was due to a certain author's problems not being enjoyable to solve.

»
22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Thanks for this post; it instills confidence, and shifts my perspective for the better as I was reading it. This also helped in refining my mental thought process.

  • »
    »
    22 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    your profile demotivates me though (I mean even after solving 630 problems u still a newbie)

    • »
      »
      »
      22 months ago, # ^ |
        Vote: I like it +1 Vote: I do not like it
      1. To be fair and honest, I should take more contests consistently to improve my rating.
      2. Also, I get stressed unnecessarily during contests, and should work on my problem solving speed.

      A wise man once said; we are not defined by our obstacles; and to be — would be an insult to our determination. :)

    • »
      »
      »
      22 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Whats demotivating in tenacity profile. Instead it should be a motivation, that every one is trying to do better and even i am doing the same.

»
22 months ago, # |
  Vote: I like it +9 Vote: I do not like it

Losing all your rating in a few contests is very therapeutic.

»
22 months ago, # |
  Vote: I like it +3 Vote: I do not like it

I don't have much to say except that I really appreciated this post.

:)

»
22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Thank you for your valuable help

»
22 months ago, # |
  Vote: I like it +11 Vote: I do not like it

beer

»
22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

While competitive programming is really fun, its usefulness is limited to some extent. For majority, its just developing skill for cracking those coding interviews for which leetcode type questions are enough. While some people do make a living(or tons of money) out of it like tourist, its not the only way to do that. There are many different and much much easier ways one could make a living.

While I appreciate checking out the talents at the top like Tourist, Benq, Umnik, Radwoosh and all the legendary grandmasters / red coders, I only take it as as hobby, just for entertainment. To reach that kind of level requires extreme discipline, putting in intense effort for many years, I don't want to pressurize myself to reach the success of those who live and breathe code because I simply don't have that much interest or inclination to do that.

I'd rather become jack of all trades than master of one. Just want to enjoy everything bit by bit.

  • »
    »
    22 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Yes sir, this is correct way. Not everybody has the desire to reach the top like Usain bolt or Magnus Carlsen or Tourist.

»
22 months ago, # |
  Vote: I like it +26 Vote: I do not like it

Great blog.

I feel like most competitive programmers acknowledge everything you said in the blog, but it is tough to put it into practice. I feel like the scoreboard and rating are kind of deceiving when coming to the performance. The best mindset is that after the contest, without looking at the scoreboard, you decide with yourself how satisfied you are with your performance. Looking at the scoreboard or rating delta should not change that much. (You might realize that you missed an easy problem or something like that, but that shouldn't make a bad performance a good performance)

If I could, I would most rather compete with myself from a year ago at the same contest, and see how I did in comparison to him. Sadly, that is not possible, but you can try and make assumptions about that.

»
22 months ago, # |
  Vote: I like it -18 Vote: I do not like it

I have an idea to keep rating from dropping: Don't take part in contests until you think your level is 300 above your rating.

I used this method and my rating never drops(before 2023.1.17).

»
22 months ago, # |
  Vote: I like it +3 Vote: I do not like it

@SlavicG You got a ten years badge but you have registered 3 years ago as can be seen from your profile.

Is this some kind of glitch? Genuinely asking.

DON'T DOWNVOTE XD

  • »
    »
    22 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    He either discovered time-travel, or simply donated for Codeforces' 10-year-anniversary.

»
22 months ago, # |
  Vote: I like it -20 Vote: I do not like it

»
22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

The subtle attack on Ronaldo fans is not funny :) SlavicG

»
22 months ago, # |
Rev. 2   Vote: I like it +72 Vote: I do not like it

Great blog! I think most points are great and helpful, and I recommend everyone to read them. However, some of the points appear to be quite ideal and theoretical to me. Take this point as an example:

Toxic motivation. Even though it did work as motivation to practice more, it reduced all joy I had in problem-solving, and, in the long run, such "motivation" is only hurtful. In order to really be good at something, we need to enjoy what we are doing and not be motivated by disliking who we are now.

From my perspective, it is totally fine to take rating as a source of motivation, and I would even recommend it. This is by the following reasons,

  • It is not practical for people to simply enjoy what they are doing. If you happen to enjoy what you are doing, that's great; keep it going. In most cases, people enjoy doing something mostly because
  1. they are good at it or are gradually becoming good at it
  2. being good at it provides them additional values, like self-confidence, income, social status, etc.

It goes the same for competitive programming; how would someone enjoy it if it takes tons of effort for them to solve a problem/learn a new algorithm so that they consistently feel frustrated? You see, now you need to become good to enjoy doing something, and you need to enjoy something to become good at it, which is quite paradoxical. So we eventually need some external source of motivation that forces us to practice, even if we don't enjoy it now, to break loose from this chicken-egg conundrum. Rating comes as a really good choice.

  • I wouldn't say such motivation is "toxic". In fact, you may compare the wish to improve your rating with the wish to do well in OI/ICPC contests, what's wrong with that? Also, rating works as a witness of your improvement in ability, and therefore you should really be happy if your rating improves. Also, at least from my experience, the wish to improve rating doesn't really impede the joy of problem-solving.

So these are some of my extemporaneous opinions, and might be wrong. I would love to see comments and discussions on it. What I really want to say (not directly to the author of the blog, but as a kind advice for all readers of this blog) is that things have pros and cons, and don't go to extremes when judging something.

  • »
    »
    22 months ago, # ^ |
      Vote: I like it +20 Vote: I do not like it

    I totally agree with you that rating can act as good motivation and is a fine goal, as it helps show improvement and one's place in the community. I only suggested about the case when it becomes toxic, such as becoming obsessed with it. Caring about rating is fine, but anything in excess can be hurtful. The same would go for doing well in Olympiads, it's good to work hard towards achieving the goal, but one shouldn't lose the joy in the activity in the meantime. As I mentioned in the blog:

    feeling guilty about doing other things due to not being content with the rating

    In certain norms it's fine, but when it becomes an obsession there might be more problems. It's more about one's way of balancing the importance of rating to them and the other aspects of their life. And I should mention that I still care about rating, and am trying to improve it, just don't let it get to my head when it doesn't work out every contest :D

  • »
    »
    22 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    How round are ya?

»
11 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Thanks for your blog. Congrats on becoming Master & getting palindrome rating.

»
4 months ago, # |
  Vote: I like it 0 Vote: I do not like it

thx for this page.Shame on myself for doing sth wrong.How could a 15 days CP noob be high rating, by some bad tricks.

»
4 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I needed this one. Thanks

»
4 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Yea Absolutely. Losing 250 rating and 1655->1402 in the span of 2 contests was tough for me, but it's never the end and there is no reason to ragequit. Same goes with USACO divs. Never the end if you don't pass the div.

»
4 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Actually 14 hours later I am going to have a programming competition. Originally my thought is just as same as my friend expected -- beat my schoolmate (blue name) in my school (I am currently rank 2 and he is rank 1 in my school according to heat event). But after reading this blog, it reminds me that the reason that I got a silver medal last year is because I don't care others and how bad is the final results, what I cared is just myself and my programming performance in a relaxed way. So, I want to thank for SlavicG's sharing of his advice, thank you!

-- a Hong Kong Secondary School student