I've loved coding, competitive programming, and algorithm challenges for about a year and a half. Lately, though, I've started feeling like coding is awful and that I'll never measure up to the top competitors who can solve difficult problems in just a few minutes. I'm especially discouraged because I'm currently stuck on a difficult algorithm problem, and it's making me wonder whether I should quit altogether. How should I handle this?
4 Answers
Eighteen months is not very long in a skill with an enormous learning curve. Getting stuck on a hard problem is normal. Read an explanation after making a serious attempt, understand the key idea, and revisit it later. But if the pressure and comparison have removed all the fun, stepping away for a few weeks—or quitting contests while continuing other kinds of coding—is completely reasonable.
It may help to separate competitive programming from programming as a whole. Timed puzzles are a specific hobby and aren’t the same as building useful applications or working on real projects. If contests are draining you, try making something practical for a while instead of assuming you have to give up coding completely.
Comparing yourself to the fastest fraction of a percent is a guaranteed way to make yourself miserable. Those people have usually spent years practicing, and solving one difficult problem slowly doesn’t say anything final about your ability. Take a break, work through easier problems, and measure yourself against your own progress instead.
There’s nothing wrong with continuing because you enjoy the challenge, even if it doesn’t directly improve every part of professional programming. Algorithm puzzles can be like crossword puzzles or games: satisfying for some people, irrelevant to others. The important question is whether you still enjoy the activity itself, not whether you can beat elite speed-solvers.

That makes sense. I think I’ve been treating contest rankings as proof of my ability instead of just treating the problems as practice or entertainment.