Here is a telegram group of 1k+ members where people discuss algoirhtms and focus on improvment . I am the admin and take regular lectures on CP : https://t.me/TFAANG or search @TFAANG on telegram.
1)Make sure you know (C++/Java) and are very good with array,loops and basic programming logics .
2)Make sure you have done 100 problems from this list : https://cut.ly/nYLZ4Gk
3)Go through each of my linkedin posts and you will find article/post/guidance on how to study "xyz" topic in CP : https://cut.ly/5fWoNry
4)Read : https://cut.ly/tSx47tt and https://cut.ly/uRtzNaV
5)Solve greedy,implementation,arrays,strings problems of Cf from this list : https://cut.ly/Ui9HN5u (Do 100 atleast)
6)Solve dynamic-programming,graphs,trees,bitwise,math from here(100) : https://cut.ly/szBOZek
When you feel tuned in with competitive programming , start participating in :
2)ABCs of AtCoder
4)Never participate in Long Challenges, it slows down your progress if you are a beginner ,also close to 60% solutions are plagiarised in Long,it involves high amount of cheating , hence you will never know where you stand and most probably you will enter the wrong route.
When you reach cyan on codeforces OR 4* on Codechef, you can assume that you are past the beginner level and the next step is : https://www.desiqna.in/219/best-free-resources-for-competitive-programming