Where this actually started
Long before I knew what code was, I was typing commands into a game console to fix a broken save or spawn something I wasn't supposed to have yet. I never thought of that as coding. It was just typing the right words to make the game do what I wanted. I've been messing with computers since I was 14, swapping GPUs, building machines, poking at stuff I probably shouldn't have been touching yet. None of that was the same as actually learning to build software, but looking back, it was the same instinct. Give the machine specific instructions and see what happens.
I finally sat down and did it properly with The Odin Project. It's project based and doesn't hold your hand, you get a spec and whatever you've learned up to that point, and it's on you to connect the two. That matched how I already tried to learn things anyway, so it stuck.
The two projects that didn't stay projects
Two of the assignments kept going after I turned them in, in my own head anyway. The Calculator project was supposed to be a plain four function calculator to prove you can manage state with objects. I kept adding to it until it became GlovesOn, a concrete calculator and unit converter I actually use on job sites now. Rock Paper Scissors was supposed to be a simple game with DOM events. I built a dice roller instead because that's what I'd actually use at a tabletop session, and that became TTDice.
Neither of those was part of the assignment. Nobody told me to keep building past what was graded. I just noticed the skill check underneath the project and pointed it at something I actually wanted.
What actually stuck
The biggest thing I took from Foundations wasn't a specific language feature. It was realizing the assignment is a floor, not a ceiling. Once you understand what a lesson is actually testing you on, you're free to build whatever you want on top of it. The second thing was just finishing. Foundations isn't short, and there were plenty of points where I could have half done a project and moved on. I didn't. Every project got actually finished before I moved to the next section.
Where I'm at now
I'm into the JavaScript Full Stack path now, currently back on forms, relearning how to build and validate them properly instead of the quick and dirty version I've used on client work. It's a good reminder that finishing Foundations isn't the finish line, it's just proof you can start.
The actual code from these projects, GlovesOn, TTDice, and everything else, lives on my GitHub.
See the repos