I struggled to understand that why I did competitive programming.
I almost quit it around in 2014 when I felt it has no use. Right about that time I had a job in a startup in bangalore where I was making softwares in c++.
When you do cp then something happens. When you build softwares for others, its like you have technical knowledge so you working on it. But the real thing of CP comes when you try to make money yourself through softwares.
A software doesn’t sell, its pirated or you can find open source versions of it. But when you put software in a hardware… it sells! Hardwares comes with a price, lower the price better it would sell. Lower price means… Lower memory and lower time limit! CP! Your code should run fast and also in limited memory!
Thats what you learn in cp! You take a hardware… lets say a satellite prototype or a game console. Run your code in it till you have it running in a real time limit and also in the memory available. Then that hardware sells!
It is like either you make songs for movies that is consulting, or you make your own songs to perform. For performing you need to practice the same song for eons of hours. Same with code! You need to optimize for eons of hours and then get it running in the constrained hardware settings!
This is the beauty of CP!