Learning how to code
Around this time last summer I started learning how to code. I had a wordpress website and wanted to customize it, then I got sucked into a rabbit hole and haven't really surfaced since. I realized I would only be able to make it so far coding in a box on a website with tutorials, as great as they are, and in the fall I decided to go all in. Now I'm starting my second gig as a "real" web developer and learning as fast as I can. As I go I'm learning as much about learning how to code as I am about coding itself. Here are a few of the most useful things I've learned so far and some tips if you want to get started learning how to code.
Just start
If you want to learn how to code, just get started. Don't spend a lot of time searching everywhere for the "best" resources. There are some that are better than others, but whatever is most popular whenever you're reading this is going to be good enough to introduce you to programming and get you to a place where you can choose a path for yourself. Just pick whatever is popular and get started, then go from there. I wasted WAY too much time searching through every possible boot camp and tutorial guide on the internet instead of just going ahead and actually learning. The only way to learn how to code is to do it, so any hands on tutorial you can find is good enough to get you started.
If you really don't know where to start, learn command line and git
If you've looked through the options and still feel totally overwhelmed by the sheer number of possible languages and paths to becoming a programmer, start with learning your way around the command line and git. These are things that you will need no matter what language you end up using and they will help you develop good habits and a smooth workflow from day one. Don't get overwhelmed and think you have to learn everything. Just get used to navigating directories from you command line instead of "finder" or "file explorer", and start keeping track of your projects using git. If you don't have a whole project on the go then make a repo for little coding exercises.
Don't get distracted
I get distracted really easily. If you're one of those people who can set a task and just sit down and do it from start to finish, then lucky you. I am not. I'm one of those people with about a million "productivity" tools on the go, and whenever someone tells me about the greatest new one, I end up spending an hour exploring it instead of just using it to get to work. Having a personality like mine is dangerous if you want to learn web development or computer programming in general, because there are a virtually unlimited number of rabbit holes. And that's what they are. If you get sucked into some new language or framework or workflow, you may never get out, or emerge at the end of a full week wondering what just happened (if you're at all like me).
It is so easy for me to spend hours learning something only tangentially related to the main thing I'm working on. This is great because it means you learn a little bit of everything, but obviously the downside is that projects take five times longer to finish. If you have similar issues then I recommend setting very strict goals for yourself. Be realistic about what you can achieve in a given amount of time, and then set out to do exactly that — no more and no less. Then, set aside a block of time just for exploring. Every time you come across a cool new thing you want to try but don't immediately need to learn to finish what you're working on, set it aside and promise yourself you'll come back to it during your "exploring" time.
Keep going!
Anyway, this sort of sums up my learning experience so far. Basically my advice boils down to "get to work". Don't make excuses about why you can't start or keep going. Just focus and work. And focus on moving forward, not sideways. There's a lot of value in being really good at something, as opposed to sort of ok at lots of things. If you really want to learn how to code, it is worth it. My short term projects for the time being are to make my own game with javascript and to try out websockets, maybe with Rails. So far so good, but I will post more updates here as I go. Good luck with your own journey!