My review on Watch And Code

My review on Watch And Code

One of my goals this year in 2018 is to apply clean code practices with a deep foundational javascript background. I scoured the internet for some good courses. Reddit and hackernews eventually led me to the watchandcode.com course by Gordon Zhu, a former google engineer.

This is my review on it broken down into 2 parts,

  • Practical Javascript (5 hours)
  • Premium Course (40 + hours)

While I have not formally finished the premium course section yet (70% done) – I have skimmed the rest and believe I have learned enough to make an assessment.

Practical Javascript – How the author differs

Practical Javascript is much different than every other course I’ve taken. I have tried many resources like lynda.com, udemy, team treehouse, and they all seem to fall short.

Before I delve into the review, I always refer back to this TED talk I watched several years back. Normally I hate watching TED talks. But this one is a good principle in discussing what actually matters in a course. The premise of the video is broken down in 3 sections

  • WHY
  • HOW
  • WHAT

For instance, what is Apple’s take on their marketing strategy?

  • WHY – Leading the digital revolution
  • HOW – Simply designed beautiful products
  • WHAT – iPhones and MacOS

Today, pretty much everyone can author their own course. We have many tools like teachable.com, udemy, edX, and even youtube. Not all courses are rated equally. Lots of users love Apple products. Buying a course is like buying a potential Apple product.

Here is my take on how many authors publish a course.

  • WHY – I guess its fun and it would look cool on my linkedin and help get referrals for gigs.
  • HOW – Well I am an expert in this domain and have done it Y years. They can use my simplified Visual Studio Code setup
  • WHAT – A course on this subject, broken into X parts

This is how I would compare Practical Javascript is different in its approach per Gordon Zhus approach

  • WHY – I used to beg parents to let me tutor their kids while in high school. I got frustrated at all the poor courses out there for intermediate developers when I started to learn development so I made my own.
  • HOW – Selecting a platform (teachable.com) and building a learning environment with simple tools (plunker, glitter) that people can follow along without worrying about development environment. Interjecting small computer science principles when necessary. Having a commenting system(disqus) and manually controlling what comments get placed in video to prevent low quality spam. Specifically choosing exactly what to say at the exact right time.
  • WHAT – Breaking down a well-known repo(todomvc) from start to finish and its wider implications in the development world

Many authors who start from a WHAT > HOW > WHY approach tend to fall short. These courses tend to have a disjointed message. This is like your professor at university who only teaches because they wanted to do research instead. You find pitfalls in the explainations because they might just be following a textbook, or have simply forgotten how expertise in a domain =/= teaching ability in said domain

Practical Javascript – TODO MVC APP

The best way to learn quickly is to learn from the mistakes of others.

Those mistakes are sometimes very expensive. For instance, in the construction industry there are rules dictated by OSHA. Many of the safety regulations of OSHA were created because someone died from it. State laws that seem silly at a first glance usually have a historical backstory to it.

In the development world, this is no different. What separates a senior developer from a junior developer is knowing what doesn’t work. Sometimes these are referred to as “anti-patterns”. For instance, polluting the global namespace in javascript causes unnecessary side effects.

Yet, there are good principles to follow. Sometimes referred to as “design patterns” and even “stylized guides” for approaching certain problems. These resources provide an easy way for companies to start apply good design practices from the get-go. The rationale is this:

If someone else has had this problem it has probably been solved already

One of these issues is how a company should get up to speed from one framework to another. Like learning new syntaxes and structure to a framework(e.g. React) to one that may already know (e.g. Angular)

The best way is by building a boring app. There’s a github repository for this. Its called the TODOMVC. Its a todoapp written in the almost same logical way in 20+ different frameworks and languages.

This is the content on Practical Javascript. Its a tutorial on this repository.

Leave a Reply

Your email address will not be published.