Progress

Well, it’s happening, I am making progress on a goal that I have had for several years. I am really learning JavaScript. I have written about this in the past on this site, how much I want to learn or how I’ve bought a new book to help me learn, or how I just don’t like the language. Well, all that is changing and it is due to one thing. I have a mentor. Yup, a real, live person. Granted, he lives in another state and we’ve only met in person a few times, but with the wonders of the internets we chat each week via a Google Hangout, share code via c9.io and in between I am reading about topics that are relevant to what we are talking about the next week or brushing up on the previous week’s topic.

So, how has this been helping me? It’s been amazing. I realize now how I truly learn and for me that means some face time, talking with someone and being tutored. I feel really lucky that a colleague is taking the time from his busy schedule to do this for an hour each week with me, well, he probably spends more time as I know he does prep work as well. I also realize that talking about code, working out the concepts in English is extremely helpful for me. So, for example, I read a great article on hoisting the day before our last hangout and the next day when we talked, the concept sunk in even more for me. Being forced to reiterate what I read is making it sink in. Also, getting pop quizes on bits of code and being asked to explain what is happening in the code has done wonders for me. I love the tenor of our sessions, they are fun, we laugh a lot, and most of all I have someone cheering me on when I get it right and helping me out when I am completely unsure. A side effect has been that it has done amazing things for my confidence with JavaScript, which I think has been one of my big blockers, I just didn’t feel confident in myself.

In addition to all this, we are building a little app that I have wanted to do for quite some time and using the code of that to help me understand how to do Object Oriented Programming with JavaScript. I am learning about crazy things like call and apply, Object.create and scope and hoisting. And you know what? I am actually starting to like JavaScript. Now that I get what is going on, I think it’s pretty cool. I can’t wait to finish the first phase of my app, something that I will use weekly, and then keep adding on to it as I learn more. It’s great to have a project that I want to do to be a motivating factor.

Recently I’ve gotten some questions from people about my journey with JavaScript, which has suprised me, but I’ve been fairly vocal on the twitters about how I’m working on this skill, so I guess maybe I shouldn’t be surprised. The mentoring is for sure what is pushing me over the edge, but I also have to say that I love Cody Lindley’s book JavaScript Enlightenment. It a great book with lots of example JSFiddles to allow you to play with the code. Plus, it is short and not overly verbose, so easy to read. In addition to this, the site javascriptissexy.com has a lot of great posts on the basics and a plan to help you learn, which may be helpful (please don’t judege the site by its name, it is really great). I still have a long way to go, but I am grateful for the help I am getting, because for the first time in a long time I truly feel like I will accomplish something with this language.