My dirty secret

I have a secret, it’s not a shocking one, don’t worry. And yes, it does have to do with front end web development. Well, here it is, I really dislike JavaScript. When I say that, I don’t mean that it’s just not my favorite thing to do in my job, I mean to say it is at the very bottom of the list. For years I have bought books, I have read articles, I scoured the web for blog posts, and yet when I am confronted with a JavaScript issue, I cringe. I put it off. I do everything else first. And usually, I ask a coworker for help. For some reason, JavaScript just doesn’t stick with me.

I have talked to all kinds of people about it, gotten advice from coworkers, other conference attendees, experts in the field, listened to talks, and yet I still struggle. Many have said to me, learn pure JavaScript first, that way you will understand what the library is doing for you. Others say to just go with jQuery, it will make life so much easier. I have tried both approaches and right now, I am again going back to just plain jane JavaScript. I’m reading up on Crockford, I’ve bought yet another huge book on the subject and am trying to tackle it in bits and pieces at a time.

For me, CSS is so easy, so elegant, so understandable. I know what’s happening with it, I can write it out quickly and even as it becomes more complicated with new modules, I seem to pick it up so much easier than JavaScript. But I see the future in many of the new things happening, I see where things are going with canvas, SVG, and more and it is only going to get more complicated. I feel the need to get my brain to think a bit more like a programmer. To do that I must finally tackle my nemesis of code.

So the goal? Learn JavaScript. Not jQuery, but JavaScript. Be able to sit down and write out some easy functions to get something to work. The hard part for me is always coming up with what I want to try and do. I need a solid project to work on to drill the skills home. After that, then I will start with jQuery, hopefully I will understand better what the library is doing for me, so that if it can’t get the job done, I am better equipped to find another way. My hope is that as the field of web development advances, this will help me keep up and still have the same fun I do with CSS. Still feel like it’s magic to write lines of code and then open a browser and see it work. I know there will be a lot of frustration along the way, but now is the time. I’m telling you all this, well, because I need some accountability and because I’m open for any suggestions you may have, so send me some tweets and let me know what you think. I hope in the coming months to follow this up with some of what I’m learning and doing.