AEC, Code-ish, Coding, CSS, HTML, JavaScript

Learning to Code – JavaScript Edition

Well I’ve decided to give learning to code another kick at the can, and this time JavaScript is playing the role of the can.

Click Me!

So if this post seems like deja vu, well it kind of is. I’ve been here and done this…learning to code, or code-ish anyway. I have dabbled in learning to code many times in my life, from the early days as a wee lad “playing” Logo on a TRS-80 or programming simple games on a Vic-20 with the help of books from the school library. Fast forward many years to when my interest in all thing coding started again with Dynamo, C#, a little Python and now JavaScript.

Okay, but why you ask? Well, this is a story all about how my life got flipped-turned upside down. And I liked to take a minute, just sit right there. I’ll tell you how I became the prince of a town…oh wait that’s something else.

But seriously, these days working at BIM Track I’m spending more time working with cloud base software and APIs than anything else. This means less time inside Dynamo, C# or Python, and as they say, if you don’t use it you lose it, or at the very least get rusty. As I started looking into the world of “Web Dev” it seemed like JavaScript would be a good place to start, and I knew you can make cool plugins for FormIt with JS, so why not?

The Plugin Playground in FormIt 2022

In the Beginning

The hardest part of starting is the decision to start, of course after you have decided to start the really hard part is to keep going! For me, that means different ways of learning, not just one way. I’ve used books, YouTube, self-paced learning and instructor lead learning but the real game changer this time around has been the projects! More on projects and resources later in the post.

A couple other things I’ve discovered this time around:

  • It is okay to learn the basics more than once.
    • The more you learn the basics the more they sink in
    • After learning them once, the next time you can learn them with context. meaning you have learned the principal of them the first time, this time you are learning the practical side of them
    • Yes, the “Basics” are similar in many coding languages but the subtleties are different. For example, did you know you can use either ” ” or ‘ ‘ around strings in JavaScript, just not one of each at the same time?

  • Learning any code can lead to rabbit holes.
    • Like learning other languages. Did you know that knowing some HTML and CSS will be very helpful when you are learning JavaScript
    • To write the JavaScript it helps to have a text editor – enter VS Code
    • Now you need to learn how to use VS Code (or your text editor of choice)
    • GitHub gives you access to free “pages” (think websites) with your free GitHub account
    • To effectively use the GitHub Pages you should learn Markdown language
    • To really understand and use GitHub is handy to learn Git (the language)
    • Soooo many rabbit holes…

Resources

This is a list of some of the resources that have helped me (key on me, everyone learns differently but I’m sure some will find them helpful) during this ongoing journey to learn JavaScript.

Books

I know it’s shocking but I’m not a big book reader 🤯. With that being said I did read this book cover to cover and found it witty, sarcastic and informative with the added bonus of exercises and datasets.

“Look at you, you’re doing so well. If you still haven’t set this book on fire, I’m proud of ya! This evening ditch the PBR and treat yourself to an adult beverage that doesn’t come in a can.”

By: Peleg Rosenthal. Ugh, Code: A JavaScript Primer for the Slightly Less Enthused

Other books you may find helpful, as I have:

YouTube

Seems YouTube is everyone’s go-to these days, and with JavaScript being the “Language of the Internet” there is no shortage of content. These are a few of the YouTube channels I’ve found helpful so far.

Traversy Media – This is Brad Traversy’s YouTube channel, with tons of great content. Brad is an engaging teacher and his tutorials are great.

Tech Learning Network (formerly Framework Tech Media) – This is Mark Lassoff’s YouTube Channel, like Brad’s it has a ton of great content and his style and way of teaching really speaks to me.

Other YouTube channels you may find helpful.

  • Scrimba – Good content for JS, HTML, CSS and Projects
  • Florin Pop – Some good content, I’ve been following his $0 – $100K challenge
  • codeSTACKr – Some helpful VS Code tips and JavaScript content
  • Code with Ania Kubow – Lots of different content include JS (even a video to make Mario in JS)
  • Code with Leanne – One of the two behind the Scrimba Weekly Dev Challenge (more on that later)
  • dcode – Lots of Tutorials in JS, HTML & CSS
  • Alan Simpson – I’ve taken some of Alan’s online classes, great instructor – this is his channel
  • Anna Lytical – Coding with a side of drag queen sass!
  • Colby Fayock – Got some good Web Dev stuff here
  • Colt Steele – Good general all-around coding site with some JS, HTML, CSS
  • The Net Ninja – good content great name 🙂
  • DevPool – Well to be honest mostly for the name, but some helpful content too

Courses

These are some courses I’ve taken, or am taking that are online and a mix of self-paced, and instructor-led. I really do prefer the instructor-led over the self-paced. And if I had a choice I like the synchronous version where somewhere in the world there is a real class being taught every week and you take part in that class at that time, just virtually. I’ve taken classes on LinkedIn Learning, Udemy, ed2go, Scrimba, and Tech Learning Network (formerly Framework TV). These have been a mix of paid and free courses. As a side note did you know that many city public libraries offer free access to LinkedIn Learning as part of your library membership? It has been an amazing (and totally free) resource for me.

Modern JavaScript From The Beginning – created by Brad Traversy

I’m currently taking this course and really enjoying it. Brad does a great job explaining the basics, and then expanding to more real world examples. The other HUGH bonus is that there are many projects that are part of the class.

Other courses I have taken or think might be helpful, again a mix of free and paid

Projects

For me, the biggest difference this time around on my coding journey has been the addition of projects! I’ve always said when training Dynamo (or any programming language visual or other) that having your own problem to solve makes the process much easier, as it gives you a vested interest in the outcome. However you don’t always have a problem to solve, so having projects to work on helps fill that void. Keep in mind there are different types of projects for coding too. You can do the Tutorial type (separate or as part of a course), where someone does the project with you (or by following along on videos). There are also the ones that are just ideas, like a great JavaScript project would be making a magic 8 ball app, or a calculator or whatever.

For me finding the Scrimba Weekly Web Dev Challenge has been great. It’s a weekly challenge that focuses on JavaScript, with some HTML & CSS tossed in. The Scrimba site has its own development (text editor) space online you can use to complete the challenge (you can do it locally as well if you prefer) and a great community on Discord to help. They also do a weekly “code-along” session where the folks that run the challenge live code a possible solution.

You can find out more about it here

Some other project options I’ve come across during my JavaScript adventure.

Where are we now?

I’ve been working on and off on this JavaScript adventure for 4 or 5 months now, starting with courses and have really been liking the projects of late. I’m still working on a couple self-paced courses, and have a new instructor-led one starting in mid-September. My end goal is to get enough knowledge under my belt in JavaScript that can start doing more API stuff. I want to be able to use tools like BIM Tracks Open API (on swagger) or the Postman API platform to help automate and make integrating with an API easier.

So far I’ve learned (and relearned) a lot, and have even started keeping track of what I’ve coded on my GitHub. I have a couple of repos, one for my Weekly Web Dev Challenge attempts, and one for the projects I’ve completed as part of the Modern JavaScript Course. In fact, if you click on the lead image for this post it will take you to one of my first projects 😁

The real takeaway here is never to stop learning. Also googling while coding is 💯 okay, in fact, it’s excepted, you will never learn everything. The nice thing with JavaScript is that sites like Stack Overflow have tons of answers for your questions, usually many different but equally good answers, which makes learning easier.

I will end by saying I’m not sure where this will take me, but I’m having fun doing it. And as my good buddy John Pierson (@60secondrevit) always says “having fun is 73.7% of it” (I may be paraphrasing a little 😆 I believe he says no work is ever wasted). And in honour of John, I leave you with this, another of my Web Dev Solutions. Long Live Doge!

The JavaScript Loader Challenge

Just Click it…you know you want to

Until next time,

Final-Logo_BIMsider_Text

Twitter: @theBIMsider
Instagram: The BIMsider
Facebook: The BIMsider
LinkedIn: Carl Storms
Podcast: BIMThoughts
Podcast: The BILT Academy Podcast
Podcast: The Simply Complex Podcast
Podcast: BluePrints

2 thoughts on “Learning to Code – JavaScript Edition”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s