
So, one week in and everything's a little crazy. Not unexpectedly crazy. Not in any way surprising crazy. Not even bad crazy. Just, you know, crazy. At university (the only real comparison point I have) I'd have a couple of lectures on unrelated topics before spending the rest of the day reading up on another topic in depth (at an admittedly leisurely pace). Occasionally you chat with other people on the course about what you're writing, but by the end of the course most paths had drifted far enough apart that it could only be so useful. This is not like that. Well, it's a bit like that, but importantly different in a number of ways. Mostly the focus.
Everything we do, all day, every day is focussed almost entirely on code. Sure, there may be slightly different topics handled from hour to hour, but it's all relevant to the overall goal of being a reasonably excellent junior web developer. I've tried to learn Ruby (on and off Rails) before, but have had to fit it around spending most of my time thinking about an actual job that doesn't involve programming. It didn't really work. Here there are no such distractions and the benefits are stunning. And everyone else around you has the same focus on the same things. Even after a week, I'm solving problems I was miles away from at the start of the course. It's amazing - you spend a lot of time trying to improve a skill, and it improves. Who knew?
So, while freelance work is time consuming, I can't really say that I always stayed focussed on the subject at hand every hour every day. I mean, I've got few enough friends on Facebook, and follow few enough people on Twitter, that I can probably see most updates in both most days. And do. Because I'm great at professionalism and stuff. But that's no longer true! I've gone at least one entire day without checking Facebook for maybe the first time in years. I spend all my time, from 9-ish to 6:60-ish, either coding or thinking about coding projects. The fact that you, and everyone else around you, are there solely to get better at coding means that everything else very quickly becomes an unnecessary distraction. It's like I'm becoming a real person. There you go, you can put that on the posters: Makers Academy is making me into a real person.
So, each day a little bit looks like this. We start with a morning class on the day's topic (command line, version control and Ruby this week), followed by lunch. Then you have a series of exercises to work through on the day's topics. Once that's done, you work on the project for the week (this week, a student directory). Or Code Wars. God bless Code Wars. God damn Code Wars. Code wars gives you little Ruby challenges. Code Wars gives you points for completing those challenges. Code Wars gives you more points for completing challenges with a "better" solution. Code Wars has an associated leaderboard. Code Wars challenges are set by people with more knowledge of Ruby than me. Code Wars challenges always have slightly better solutions than I can come up with (when I eventually come up with solutions...). Code Wars makes me unbelievably angry. Code Wars makes me so much better at Ruby.
Every time you make a mistake, you have to find a new way of doing things. And the more mistakes you make, the more solutions, the more examples of good code you find, and the better a coder you become.
So, I guess I'm 11 weeks worth of mistakes away from becoming an OK coder. Fingers crossed.