Greetings dear Codeforces community,
I always wanted to write a post that reflects my progress in turning purple after starting competitive programming for three years, and also to record such a short moment, so here it is.
I just turned purple after participating in Codeforces Round 963 (Div. 2) by finishing ABC super quickly, meanwhile, six thousand contestants solved them during the contest. I would say 'purpleness' is shaky and I wanted to secure it in the upcoming contests.
Yesterday night, when I was studying a certain dp topic, I was asked by my friend YJ365723 "Do you think problem solving skill in CP is much like sports".
I was intrigued by this analogy, and I always treat Codeforces contests pretty seriously. However, my initial motive for doing CP is to get a taste of computer science. I then realized doing contests is a way to boost my ego.
In my case, I do sport solely because I want good health and to entertain myself, instead of having a super strong bicep or winning medals in the Olympics. I'm too lazy to go to the gym, those goals require so much effort and are too specific for me.
My attitude on CP is very similar if replacing "health" with "problem-solving skill", which is something that benefits me in general. And the "specific goals" are analogies to the Codeforces rating in this case.
There are always people complaining about "the problem-setting of this contest is so bad", "this problem C is way too simple/hard for div2"...
Let's be super straightforward, most of these complaints are saying "This contest isn't allowing me to demonstrate my skills so my rating drops, it's not my fault."
If you deserve your current rating, you will be able to defend it; otherwise, it's likely to drop, but what you could do is improve your problem-solving skills, helping you secure your rating in the future.
I'm turning blue again as I flunked the contest this morning(in my time), does that mean that I don't deserve the purple handle? Probably, I have complaints too. I know my level, probably I cannot reach purple in the next ten rounds, but I know I will reach the rating that reflects my skill and level, for me, it's even better than bluffing with the purple handle.
(But I'm making use of the purple handle for this blog, ha!)
Finally lines of humble advice:
Study for CS. Study algorithms & data structures. Practice problem-solving skills. To some extent, study for CP. Don't study for Codeforces, but of course study on Codeforces.
Best wishes
People take colours and ratings too seriously. It's just a website for crying out loud. Competitive programming is supposed to be fun.
I agree, however for some people it can be quite demotivating when you practice a lot but don't see any change in your rating. After a long enough period of time, your rating will reflect your ptoblem solving skill relatively well.
I agree people take ratings too seriously, but trivializing it to 'just a website' is not correct, when for many people it has real world consequences. A hyperbole might be "money's just paper, for crying out loud. It is supposed to make life fun."
Curious, what do you mean by real world consequences?
You can flaunt your rating in front of your friends ,lol
Getting an advantage in internship and placement rounds (during screening, before actual tests and interview begin).
many people used to give (though most of them have stopped doing so now, given the rise in cheating) referrals to people based on rating and some other things.
It just gets you popularized among your peers and seniors, which grows network. Although many people may recognize your rating is not real, many won't, and the people who are obsessed with rating are usually willing to take their chances because it gets them work and many things just so that they can put it on resume and LinkedIn, participate in hackathons, etc.
These things may not be true for everyone, but is true for college students who only want to somehow get a job and are unable to see the damage this does to them in long run.
And I now remember another reason someone might run for rating, which is especially true for my college right now. Our teachers are quite strict regarding attendance (which is a bullshit rule), but they will give you an exception if you impress them. In India's lower tier colleges, majority of people start (serious) programming in 1st year and CP in 1/2nd year of college, so there are not many 'experts' during the start of 3rd year.
I somehow got to the expert rating, and my academic coordinator now advertises my name everywhere saying y'all need to get to that rating too. And I also have a free hand on attendance, lmao :)
I am sure there might be many such 'weird' reasons for people to get too fixated on their ratings.
You said everything from the heart, thanks for a moment of reflection.
Really needed this. Thanks!
I'm turning blue again as I flunked the contest this morning(in my time), does that mean that I don't deserve the purple handle? Probably, I have complaints too. I know my level, probably I cannot reach purple in the next ten rounds, but I know I will reach the rating that reflects my skill and level, for me, it's even better than bluffing with the purple handle.
This hit home bro. The last line hit hard. Thank you.
needed this one. thanks man
It's cool to get a new rating, Your rating increases as part of your improvement journey but rating was never the purpose but just an indicator of your improvement.
Agree, the blog is very well said.
We all know the problem itself is out of place, still it's absolutely no reason to cry so hard and spread the hate.
As a learner I'm looking for solution and re-solve it after contest by discussion and checking others code (if I like the problem tho). That's it, no hard feelings
Thanks!