From the beginning of my coding career, I have known quite some people who I will refer to as ninja coders. They have this amazing thought process for solving complex problems found in competitive programming. I have wet my toes a couple of times to learn this art of coding. But every time I got tired and stopped.
For me, (I know some of you would relate to this) coding was more of building something meaningful that serves a purpose for me or others. So investing time in the sport of coding seemed like a hard thing to do for me. But every now and then I keep thinking of starting of solving some problems in codeforces.
Even though I am not good at solving this sort of problem, over the years I realized that you need to solve lots and lots of problems in code forces or in similar sites. So if you are starting I would suggest you to solve some easy problems in code forces and from there you will understand how to move forward.