I didn't really use most of those tools for anything but tutorials and small projects cloning other things. Most of my day job is project management so I don't develop at work. So take my experience with a grain of salt though. Although I did learn almost everything on my own though

## javascript course opinions

That being said, everything I learned this year was mostly on my own free time. My favorite course for anything javascript related would definitely be watchandcode.com (both the 5hour and 40 hour course) from an ex-google engineer. It covers more of the "Bob martin" cleancode in javascript paradigms to writing MVC architecture, YDKJS topics (object inheritance prototype, ES6 syntax) debugging /breaking down an open source repo, how to build your own native reduce function similar to lodash, unit testing, etc.

## react course opinions

React took me like 4 months to actually understand. I feel like I am probably a slow learner because it took me 3-4 courses to understand. I took udemy's andrew mead react course, brad traversy fullstack nodeJS + react, freecodecamp's react+redux portions, and then wesbos's "react for beginners". Its probably because there's just too many ways of building a react-app, different ways of styling, stateless vs stateful components, etc.

Although wesbos's course was slightly dated (some of the react paradigms were a bit behind), everything just made sense with that course. It was simple, to the point, and covered everything you need to know, and everything you didn't at the time (redux). I refer back to this repo frequently. Andrew mead's course had too much handholding, went too deep into parts of react I didn't care - I lost interest. Brad Travery's udemy course was great for understanding a large overview of the full MERN stack though. Going through freecodecamp's react portion was nice practice but I needed a full example to understand how routing worked.

React didn't fully make sense until I also went to a meetup in my area on how to build-your-own react framework from scratch. Virtual DOM was just a buzzword for me then

To make sure I understood everything I built a react-calculator on freecodecamp's project site, still building a few other things.

## Firebase

I went through firebase's webchat app tutorial on the official docs. My program didn't compile correctly, couldn't find any help on the topic. I found netninja's firebase tutorial probably the easiest to understand. Also, wesbos's "react for beginners" help clarify how a frontend library like react works with firebase. And how to deploy to netlify / firebase authentication with twitter /github.

## postgresql

I want to learn how an API is built in a SQL database, so I learned it with nodeJS + postgresql. The one on udemy from David Joseph is pretty good, it also shows how to do postman requests to databse.

## NextJS

I had this on a project with a few other team members. Still a work in progress. The next.js document tutorial is fantastic. Didn't need a video tutorial. There's a lot of magic happening behind the scenes but that's javascript for you ¯\_(ツ)_/¯

## NodeJS

I took andrew mead's udemy NodeJS course and netninja's nodeJS course. Really I just wanted to see the whole thing in production, so Brad Travery's udemy fullstack MERN course was the most helpful, especially when using postman make POST/GET requests to the mongodb instance. There's some magic happening behind the scenes with bcrypt, passport-jwt, but when you can see both ends (the db instance, nodejs+express end, and postman request / result), it all makes sense

## VueJS

Netninja's vueJS + firebase on udemy. Let's me see how vue interacts with backend. Anything with firebase is nice because the backend is so dumbed down

## Canvas

Chris course's canvas course on youtube was really helpful in understanding that everything on the page is an object, and it helped me understand how OOP (object oriented programming) is used in javascript (e.g. constructor function to build a lot of canvas objects on page).

## WebGL

Webgl2.fundamentals.org is fantastic. Really goes into the basics, I didn't know anything about openGL either. It helps to learn about HTML canvas first though, some of the design patterns are the similar when working with it. I am still learning this at the moment. I find this field fascinating though, partially because I've worked in alot of 3D programs (AutoCAD, fusion360, etc)

## Rails

I wanted to learn the rails method of doing things because it takes some of the best practices from PHP in the 2010+ ish timeframe. Many things are based off of these paradigms. Things like ORMs (activeORM) is a good example. I found "Dissecting Ruby on rails 5" on udemy to be helpful, especially since I just got a macOS macbook pro and he really covers how to setup a nice development environment (oh-my-zsh + iterm2)

## Wordpress Custom Theming

I didn't really understand how wordpress theming all that well - there's too many wordpress/php gotcha's to remember, I found the blog from taniarascia to be really helpful, and looking through her open source repo.

## Web Animations

cssanimation.rocks is a great resource to learn all about animations on the web. I usually hate getting emails from any subscription service, but I read these everyday since they are very helpful. It goes into bezier curves, physics behind animations, etc. Also anything from "keyframers" on youtube is interesting to see how some complex codepen projects are made.

## Figma

I found this recommendation from producthunt, https://designcode.io/design-system-in-figma. There's lots of UX tools out there but I mostly use a windows computer. I have a long standing background in Adobe Indesign, laying out the designspecs / masterpage layout/ and component/styleguide is super important. This course hits on everything I knew what a good UX design course should be. Also, it helps that its also one of the nicest website designs I've ever seen

## affinity designer

Its like photoshop+ illustrator, but easier to use with a nice export feature. I forgot how I learned this in all honesty

----------------------------

I haven't really used vueJS or react long enough to really form an opinion. They have very different principles. But react by itself is really nice and straightforward once you understand the basic principles behind it. I haven't bothered with the hooks API whatsoever. I think its worth learning how other frameworks do things, at least the basics. So you can see how different language, frameworks, etc implement the same things.