Welcome To Jed's Journey in JavaScript

JavaScript is amazing! Years ago when I got into web development I started out with PHP and some Drupal. I did do some JavaScript but I read articles which stressed how important it was to make sure your site would still work even without JavaScript and so I avoided it. Now the idea that someone would disable JavaScript on their browser and still expect to do anything online seems strange. Even bots handle JavaScript

So for years when I would have something to do in JavaScript I would try everything I could to get around it and so needless to say my JavaScript skills suffered in those early years. Then I had a project where it needed to open dialogs and modals which allowed modifying the main page without refreshing. At this point I started really learning and using jQuery and continued using it more and more as more of the projects I was working on was designed to feel more interactive, but I found I was asking a co-worker how to do advanced stuff in JavaScript since I wasn’t fully committed to it and thought interactions should be on the server. Then came the time I started working on a project in BackBoneJS then on others in AngularJS. At the time I still would ask my co-worker for help whenever I came to tricky stuff and I quickly decided that I really needed to improve my JavaScript skills.

Up until this point I had avoided watching video tutorials since I never really felt they helped me much. However, there are tons of great videos on JavaScript out there and so I watched a few and found that while I personally don’t learn the ins and outs of what is presented in the videos they do help me learn the basic underlying concepts. So I started watching videos on various JavaScript technologies and techniques and then I started reading articles and tutorials to deepen my understanding but even with that I still felt I just wasn’t getting there. I would try and use what I learned when I was coding but I seldom seemed to find ways to tie in what I was learning into my code unless I was looking something up to solve a specific problem. That was when I was listening to the JavaScript Jabber podcast and I heard someone mention that the best way to learn to code was to write a lot of code and to read good code. So while I was already writing code I felt I needed to write more code and that was when I found a site called codewars.

codewars](https://www.codewars.com/) is a site where they play off of the martial arts training theme and so they have kata‘s where you practice or learn programming skills. What I love about codewars is that you get a small task to perform (normally about 15 minutes though as you get to more difficult ones they get longer) and then you can see how others solved the same issue with a way to sort by clever and best practices. The tasks are generally pretty straightforward but I found they often required techniques I hadn’t used before (though I may have heard or read about them). It amazed me how that after doing a kata in the morning and then seeing a better way I could have done something that I actually was able to use it in my code later that day or at least within the week. It made me realize that my understanding of JavaScript was nowhere near where it should have been but more importantly that I had been missing out on much of the awesomeness that is JavaScript.

Learning how to use JavaScript didn’t end when my coworkers I would ask for JavaScript help started asking me questions as there are still things to learn especially as JavaScript is developing as a language. I do still have questions and we have some good discussions on the best way to do things. There is always a new JavaScript framework to learn and better ways to do things. Plus there is always room to improve my architectural skills as I am planning out projects.

While I feel I have made great progress there are still things to learn. So I will be sharing some of those with you to help me reinforce the knowledge and to hopefully to help you learn along the way.