Its a long thread with what seems like lots of great replies that I haven’t read completely, but wanted to leave my encouragement too. I once joined a top rated coding bootcamp (Fullstack Academy) where I was unable to keep up and was eventually politely asked to leave mid-course. I thought I learn slower than others (I still think this might be true for coding concepts). However after sticking to it for the past year or two, I’ve now completed the course at another bootcamp that many consider as challenging, if not more challenging (Codesmith).
Yes, as others have said, programmers often cannot remember everything, and frequently use Google to remind ourselves how to do something, or to find out how to do something new. The thing about programmers is, we have to be engineers - i.e. solves new problems using the tools that we are given. In some cases, it can be a problem that nobody has ever solved before, so there may be no resource to tell us how to do it. It is also a skill to be able to read documentation on how something works, then figure out how to do it without a step by step on how. For this, you’ll eventually get to the projects on freecodecamp.
It seems like a big jump at first that you learn HTML and CSS then boom, make something from a blank page that works! If you stick to this course and do the projects you WILL learn a lot (at least, that is my experience). In many cases, you won’t even notice yourself improving, but as long as you keep going without too many long breaks, you will continue to grow.
Remember to do the exercises not to get the completion check marks, but to make sure you learned what was being taught at each step. I don’t rush through the exercises just because I got the completion check mark. If I find a piece of code online on how to accomplish something, I don’t just copy and paste it necessarily. If I can learn something from it, I’ll look at it and try to understand how the logic works (sometimes it is fairly proprietary, such as how an API works).
That being said, if you are short on money you may consider looking for another job that is in the field that you are used to and continue to study on the side. Not all of us have the luxury of being able to take off a year to learn how to code, and it will take most people at least 3-4 months to be good enough to get a Junior engineer job (there are obviously exceptions here and there, but being realistic here) and that is HEAVY hours everyday typically. More realistically, I see even the coding bootcamp students take about 6+ months to reach a junior level and build some projects to show off to prospective employers, so you should expect it to take at least half a year realistically even if you devote yourself pretty well.
As you practice this field more and more, you tend to learn more, and what once seemed like really complex concepts one day become understandable and even teachable. Stick to it if you like/love it, and try not to change your path too often as it will probably slow you down (switch from Java/ C++ to Python, to Javascript, etc.). The freecodecamp course is nice in that it (besides being completely free) has a structured curriculum where you learn one thing, then another, until after a point you will be employable as Junior (or better!) engineer. The curriculum is a good one that focuses only on one language - Javascript - to teach front and back end. If you follow it, I (and many others) believe you will become employable one day. Sometimes its hard to know what to study, so this course is great for that.
There is also the awesome community to help and encourage you along.
Make no mistake this is a difficult journey for all of us. Its not high paying with good benefits by being easy. REMEMBER it is hard as you go through this journey. There was many times (and continues to be) where I wondered if I will ever understand X or Y.
Good luck.