As 2018 begins, one of my primary goals for the first quarter is to improve my JavaScript coding abilities. I have been building websites for many years, but when I think on my knowledge, I feel as though I am a very reactionary developer. That is to say, I do what needs to be done for the job at hand and move onto the next without too much reflection on what I have just done. This means I am productive and I do a good job, but I feel there is a deeper understanding of the language and how best to use it that is missing. In order to do so, I have decided on the following approach to better understand and code JavaScript. (Keeping in mind that I am writing code as my day job too):
- Read JavaScript programming books to better understand the language from the ground up. I will be reading:
Eloquent JavaScript by Marijn Haverbeke (January).
JavaScript: The Good Parts by Douglas Crockford (February)
JavaScript Design Patterns by Addy Osmani (March)
- Based on my reading, I will write Feynman Method-like summaries of what I read and publish them to this site.
- Code the challenges and examples from the above books and publish them on this site.
- Spend at least 15-30 minutes a day reading and learning from the Mozilla JavaScript documentation. | Link
- Watch JavaScript coding videos and write the code in them along with some summaries. I will be doing the following courses:
Ultimate Angular (January) | Link
Team Treehouse's Fullstack JavaScript track | [Link] (https://teamtreehouse.com/tracks/full-stack-javascript)
Tyler McGinnis' React Courses (March) | Link
- Take the knowledge and best practice learned (hopefully) from the above and ACTUALLY apply it. It is one thing to know something, it is quite another to do!
Many people know they should eat healthier, exercise more, eat donuts less and so on. The reality is that we often do not live the way we know we should. In my case it is similar when it comes to coding. Sometimes the knowing goes out the window and I end up writing code that works, but might not be the best code I could write. Much like in life, most people cannot go from the couch to running a marathon in one day. Instead you need to build new habits, day by day, reshape and remove old ones and put one foot in front of the other until you get to the level you aspire to.
Updates
02/01/2018
- I read Chapter 4 of Eloquent JavaScript - my notes can be found here Link
- I did not review the MDN docs, however, I did spend quite a bit of time learning some Express basics.
- I did not do a Feynman-like method review of the chapter, I will work on this | Link
Essentially the goal is to:
- Write the title of the topic on the top of the page
- Summarise the concept in plain language using analogies where effective
- Review what you don't understand to fill in the gaps
- Simplify - pretend you are teaching it to someone else
- I watched around an hours of code, but watched the Treehouse Express Basics videos instead since it is very relevant to my current tasks at work.
03/01/2018
- Did not review MDN documents again... I think I need to do this for the first 15-30 minutes in the morning when I get in. Hopefully it will set the tone for the day.
- No Feynman-like reviews either, I think I may need to remove this from the list as I am finding myself short of time.
- I have not yet read Eloquent JavaScript today, pressure to learn Node.js, Express and other things means I am spending my time research these topics and continuing with the video courses.