Why I Quit Competitive Programming
TL;DR
I tried competitive programming for a whole year and it didn’t work out well for me, I didn’t enjoy it and didn’t achieve anything remarkable as well. So it’s better to take the L and move on and try other things I wanted to try, but I couldn’t because of competitive programming. For the rest of the article I’m going to talk about the sunk cost fallacy.
Alright, I want to talk about my experience with competitive programming and why it was a bad experience, I also want to generalize the topic to a little bit to make it relevent for most people even if your problems in life has nothing to do with CP.
Note: I’m going to say CP instead of competitive programming for the rest of the article because it’s easier to write.
My Story
I got into CP because of a playlist from Mustafa Saad Youtube channel, and I really trust his opinions about computer science, studying and career. he said it was the best thing that happened to him and if he gets back in time he would do it again. So I said: well, why not trying it? Let’s give it a chance. So I registered into codeforces and started solving problems from his problem sheet and started participating in contests. At that time I didn’t have time to do other things, though I had plans to study systems programming, operating systems and how computers work. But I couldn’t find time to do it (All my time was allocated to CP and studying for college. I was also a GSoC contributor, so my schedule was full and there was no room for sys programming). When it started getting tough (because of not being able to solve problems and losing rating in codeforces contests) I asked myself whether I want to continue or stop and go to sys programming. I had a gut feeling that CP wasn’t for me and it’s been already couple of months, so it would make total sense to stop. But I remembered Mustafa Saad’s opinion about CP and how it was the greatest thing ever happened to him (he works at Nvidia at the time of writing this article) so I said: who am I do disagree with Mustafa Saad? Let’s ignore sys programming and do more CP! And it was a wrong decision. The more I participated in contests, the more I hated it, but I continued! Until after ECPC 2024 (it’s the regional ICPC contest for Egypt) I decided to take a break and start what I waited for, systems programming. I started reading an OS book and downloaded xv6 kernel to implement syscalls and explore how the kernel works, and it was way more fun than CP. So it made sense to stop CP completely and just focus on what I found more fun, right? Of course not!
It didn’t last that long, I spent something like 1.5-2 months studying operating systems and then came back to CP again, why? because I refused to accepet the loss, I wanted to take revenge. So I decided to ignore OS and kernel dev (which I enjoyed more!) and came back to Mustafa Saad sheet to solve more problems and participate in more contests.
The funny part is that I was always questioning myself whether I love CP or not, and I was trying to convince myself that I love it because I realized that this is the only way to get better. If I hate it I won’t get better. But it was so obvious that I didn’t like it! but for some reason I decided to continue nevertheless and ignore everything else.
I took a second break in the first 2 months of 2025 and decided to start a Youtube channel and make programming content and make more programming projects in general (because my github portfolio had almost no serious projects at all), and I also enjoyed it. Not just that, I actually succeeded in getting views and a lot of people started watching my streams. I also had plans to learn sys programming while doing streams, I thought it would be fun. But guess what happened after those 2 months? Exactly. I stopped and came back to CP! It’s really hilarious when you think about it. Why on earth would anyone give up on stuff that proved that it was more fun and more rewarding, and decide to come back to something that proved that it wasn’t going any further?
After the first 2 months of 2025 I decided to allocate all my time for CP until ECPC 2025. I started training with my new team and, to be honest, it was fun to train with a supportive team that has a good chemistry.
So, from March 2025 to July 2025, I went full CP mode, and guess what happened, I didn’t achieve anything remarkable (except that my team has ranked first on university in ECPC qualifications, but we did a very bad performance at the final). I have already taken the decision that this will be my last touch on CP. I will never come back again. It’s time to start caring about the stuff that I enjoy more and was more rewarding for me.
Sunk Cost Fallacy
The story I just finished actually has a name in psychology and economics, it’s called Sunk Cost Fallacy. The sunk cost here means the cost that has already been incurred and cannot be recovered (such as money, time, or effort). What happens in sunk cost fallacy situations is that people often prefer to continue doing something once an investment has been made, and it doesn’t matter whether you realize it was a waste or not, you will continue because you believe that you can recover from your loss, and what often happens is that you even lose more. And that’s exactly what happened to me with CP. I already tried it for a couple of months and it didn’t work out well for me, and at the same time I had other things that proved to be more fun for me. But I decided to come back to CP to recover the loss. And what happened? I ended up lose more time.
A lot of people fall in this trap when they do other things, not just CP. Maybe your sunk cost will appear in a college degree that you completed 2 years of it and you don’t like neither the studying nor the work, but you decide to continue to finish the whole degree just not to waste the first 2 years, but you will end up wasting 4-5 years, not just 2. Maybe it will happen in a non-healthy relationship that makes your life worse, and instead of just end it and move on, you continue in the relationship just not to waste 3 years of emotional investment.
In these situations you have to accept the loss (take the L as gen-z say) and stop what you are doing and try something else. And of course it’s not an easy thing to do, I’m still very sad that I couldn’t achieve what aimed for in CP, but I MUST accept the loss and not try again, because I know I will end up waste more time.
Is Competitive Programming Bad?
I’m not trying to say CP is a bad thing, this is not my point at all. My point is just not to waste your time on stuff that you don’t like. And CP is not for everyone, just like programming, it’s not for everyone as well.
Competitive programming has a lot of benifits for sure, you will learn how to code an idea really fast, you will learn how to debug a function really fast (It’s a very cruical skill in contests). You will learn a lot of advanced algorithmic topics in a fun way (I think CP is the most fun way to learn Data structures and Algorithms. If you want to learn those topics I would recommend searching for CP resources). Also you will meet great people from the CP community and you will build a great network. And after you spend a decent time training, you will end up finding all coding interviews very easy and basic, because you trained yourself for a more advanced level.
But, I don’t think these are valid reasons to get into CP and spend all your time doing it. The only reason you should invest a lot of time in CP is that you really enjoy it, that’s it. If you don’t enjoy it just try something else.
All of the previous benifits can be gained from other resources: You can learn how to code really fast and be good at implementation and debugging by working on a lot of complex projects. You can learn Data Structures and Algorithms and understand what is the point of those things by using them in real projects, and you will find a lot of use cases for a lot of Data structures and Algorithms. You can get into a community and build a network in a million ways (Twitter, Discord, hackathons, or even Linkedin). So, CP is not the only way for sure, it’s just one way, and if you didn’t like it, just quit, don’t think twice.
Competitive programming is always an option, if you didn’t try it as a CS student I would recommend trying it for at least couple of months, if you didn’t enjoy it that’s okay, there is no shame in that. Remember: It’s not for everybody.
Final advice
Life is too short to waste on stuff that you don’t like. You don’t have the privilege to ignore things that you like and spend your time on something that other people enjoy. This time won’t come back again. And it also doesn’t make sense if you think about it, why would you ignore something you like and spend your time on something that you don’t enjoy at all and you feel very bad doing it? What is the point? And if you already are in the middle of a sunk cost and you don’t enjoy what are you doing, please quit and don’t try to take revenge, there is no point to prove.
You will always hear the motivational advice of “Never Give Up”. I think this is actually a bad advice for a lot of people. Sometimes it’s better to give up, because if you don’t you will end up waste more time, and time is very expensive.
Also, try to think a little bit more in the decisions that you are about to take, don’t think for just a day on how would you spend the next 1-2 years.