Wow. This is a super hard question!
I think the most important thing to get between our ears is ‘it takes patience’. I know there are many sites/books/bootcamps etc out there that promise to turn us into coders in ‘7 hours’, ‘over the weekend’, ‘in a week’ etc. This is not necessarily untrue (if you write code you ARE a coder), but it sets a false narrative, as you cannot become a good coder in such a short time. You will need to write, read, explore tons of code to even feel comfy.
The second thing is that you cannot learn by being passive. Just ‘watching videos’, ‘seeing someone else code’, ‘read over a tutorial’ will not be effective. You got to write code, get the muscle memory to remember data structures, control flow and what not. Also the struggle to do things yourself and realizing watching someone else drive is not the same as driving yourself. You need to write code. Make things. Even if there are a thousand tic-tac-toes out there, they are not yours. Think about how something would work. What you data you need, where to store it, how to access it, what algorithm to use etc. Start with small things, dream of big things. Break down your big thing into smaller build-able parts.
The third thing is that ‘foundation is better than chasing the next best thing’. I started coding a long long time ago, and I can read code quite easily in almost any language once I looked at the basics (syntax, primitives, data structures, control flow). Note that I say read, as for writing I need that o-so-important practice. There is always a newer framework coming out, something that is hot this year and forgotten the next. Best get your foundation right and you will be able to almost effortlessly switch between those frameworks.
The fourth thing is: see yourself as an investigator. You will often be presented with challenges that you have no clue about how to tackle. You need to read other peoples code, use google, work through ‘almost solutions’ and develop that into your own. Good documentation is your friend. Write good documentation yourself (your future you will be grateful) and know how to search for information. Keep notes, or snippets somewhere accessible. Write about things you really struggled with as it will retain that information better.
The fifth is: you do not need to spend money on becoming a good coder. There are many good places ‘out there’ that help you along the way, without breaking the bank. You found FreeCodeCamp but there are other worthy places and things to do. If it takes you longer to achieve your goals. Do not give up, just work through the materials at your own pace. I came across a nice post on twitter yesterday with some resources and I will update our resource post here with some more data: https://group.classcentral.com/t/small-little-online-lessons-outside-of-fcc-that-can-help-you-learn-more-deeper/
And lastly - I want to quote a post with a very good question by Steven which was answered by Tzerie in a way that resonates with me:
source: Post your Roman Numeral Converter solutions here! (Fall 2022) - #34 by Tzerio
These are just my personal thoughts around a very important question.