Competitive programming is a great way to sharpen your skill in data structures and algorithms. Overall, it's a fun and gamified way of improving at coding. At the same time, it's not a skill that can be learned in a day. Here are some things I've learned so far in my competitive programming journey.
Going To The Gym
In more ways than one, competitive programming is like going to the gym. Practicing coding problems requires persistent and repeated effort over a long period of time. At the end of the day, being good at competitive programming boils down to pattern recognition (hot take, maybe this is why LLMs are so good at Codeforces). Doing difficult problems will help you improve at competitive programming. When you take a day off, some of that muscle memory will deteriorate, so it's important to practice consistently and often.
It's More Fun In Teams
Competitive programming is 10x more fun with other people. Perhaps it's just human nature, but finding people to compete with motivates you a lot more to improve and get better. The same is true with youth sports. Think about it, when you join a sport, even if it's individual (cross country, skiing, tennis, etc.), there are always opportunities to meet different people and compete. In competitive programming it's a little different. Your opponents are hidden behind a UI, maybe in a completely different geographic location. This lack of personal interaction greatly restricts motivation to compete. When you can't even see your opponent, are they even real (or just AI)? That's why it's important to find a community. Discord communities, highschool/college teams, or even a few friends will greatly help you in the long run.
Start Immediately
Continuing with the gym metaphor, coding is not really a glamorous activity and it's really to excuse yourself from practicing. This is a bad strategy, if you want to get better. There's no replacement for practicing. The best way to get started is just start looking at easy problems. A good place to look is Codeforces, they have thousands of problems to choose from, with multiple difficulty levels. Doing problems each day will help you gain momentum which is a great motivator to do more problems.