The Metrics of Success
The Metrics of Success
Be it through hours practiced or comparisons to a fellow competitor, we’re always trying to find some metric to quantify our growth. Today I’m going to be discussing the pros and cons of the two most common metrics in competitive programming alongside my own metric, which has helped me increase the quality of my practice.
Rating
Out of any metric you could use to measure your improvement, rating is one of the worst because it’s completely out of your control. You don’t control the problems in the contest. You don’t control whether it’s going to be speed oriented or math-heavy. With such a large assortment of independent variables, it’s impossible to get an accurate, holistic reflection of your skills and growth. On top of it all, focusing on the result rather than the process means if your rating experiences a plateau or slump, your motivation will follow suit. Pros: None. (Disclaimer: I’m not upset about my own rating or against the entire system, I just don’t believe it’s a good way to track your own improvement on a day to day scale.)
Problems Solved
Problems solved is an improvement from rating, but it still poses two problems.
Since your success is based solely on the quantity of solves, it becomes enticing to just solve easy problems. I’m sure you understand that isn’t an efficient way to improve, but it’s easy to fool yourself into thinking that it is when each problem, no matter the difficulty, contributes an equal amount to the metric.
Once you get past the hurdle of avoiding easy problems, there lies yet another obstacle. As humans, out brains are exquisitely terrible at evaluating long term benefits. We understand that eating fast food is bad for us in the long run, but it feels good now so we do it regardless. This same sort of problem manifests in competitive programming as editorials. Although editorials are helpful and teach new concepts, they’re also sirens who beckon for you to give up well before you really should. Having the pressure of increasing your solve count only amplifies their song and makes the probability of checking the editorial before you’ve fully exhausted all your ideas increase.
Unlike rating however, “Problems Solved” is a metric that’s salvageable. The temptation to solve easy problems for instant gratification can be stifled by setting a lower bound for the difficulty of your practice. I don’t have a solution to editorials except using an online judge without editorials or just doing your best to resist the temptation.
4 Hours
After doing reading on how experts work, it seems the upper bound on the amount of time spent deeply thinking per day is roughly 4 hours. (If you’re interested in doing more reading on the topic, I’ve listed some books below) I’ve adopted this as a guideline that if I can manage to practice for 4 hours a day, no matter how many problems I solve, that’s a successful day. Although this metric has the same benefits and weaknesses as using “Problems Solved”, the weaknesses are far less pronouned since there’s no benefit to doing easier problems or rushing to an editorial.
Books
- Deep Work by Cal Newport
- Rest by Alex Soojung-Kim Pang
Outro
I’m sure that the metric I use is far from perfect, but it’s good enough. The point of introducing these performance measurements isn’t to chase perfection, but to find a way to motivate yourself to practice while continuously improving. As always, thanks for reading.
If you enjoyed this post, you can get notified of future ones here!