When I was younger, I wanted to be a comic book artist, something I think most comic fans want when they’re younger. But, I wasn’t a great artist when I first started drawing, well, even a good one. I compared my work as a 12 year-old to Jim Lee and decided that I wasn’t good enough to draw comics. The thing I didn’t understand back then and it would take me years to realize, Jim Lee worked damn hard to get that good, he wasn’t great from the start. When I was in school and we were learning ActionScript and Flash, I would spend a lot of time looking at what the top Flash developers were doing and getting frustrated when I couldn’t build the same things.
Eventually I bought Colin Moock’s Essential ActionScript 3.0 and I worked my way through it from front to back, almost every day. That’s when I made a huge leap from beginner to experienced programmer. Not only because of the information I got from the book, but also from training my brain to think in code. This is how I got to the point where, for the most part, I’m able to start writing the code in my head as soon as I know what I’m going to be building. This is the point I think you can stop considering yourself a beginner, when you don’t have to search Google to figure out where to even start with your code.
It’s doesn’t have to be something big. Sometimes you can learn more from a quick ten minute coding session then you can from a 6 hour one. Concepts that I’ve struggled to understand, I’ve figured out while messing around on jsbin while watching a baseball game. That’s all you have to do, just pick something you want to learn and mess around for a while. Sometimes I give myself a project, something I haven’t done before, so that I force myself to learn concepts and techniques I haven’t needed yet, but might need in the future.