Check out a free preview of the full JavaScript: The Hard Parts, v2 course:
The "Introduction" Lesson is part of the full, JavaScript: The Hard Parts, v2 course featured in this preview video. Here's what you'd learn in this lesson:

Will Sentance introduces the agenda for the course, defines the purpose of the course that differs for mid level and senior level engineers, then explains how this version of the course is an improvement to version one. - https://static.frontendmasters.com/resources/2019-09-18-javascript-hard-parts-v2/javascript-hard-parts-v2.pdf

Get Unlimited Access Now

Transcript from the "Introduction" Lesson

[00:00:00]
>> Will Sentance: Today, we are gonna cover a version two of the Hard Parts original course. With that, we're gonna go through five big areas of JavaScript. I think all the foundational pieces. Firstly, just underlying JavaScript principles. How does code actually run in JavaScript? Secondly, a key part of functional programming, higher order functions and callbacks.

[00:00:21] Third, closure, to me the most elegant and beautiful feature of JavaScript. The bit that if you get your head around truly, truly understand it from first principles, you understand many of the core pieces of the JavaScript engine. I love this part. Then classes and prototypes, that means OOP.

[00:00:38] The goal here is can we grow as problem solvers with code such that we're autonomous in our future wrestling with challenges? Now to do that, my conviction is you want to understand JavaScript under the hood as fully as possible. The more you understand how it's playing out of the component pieces, then you can bring those atoms of knowledge to bear to solve a problem at a high level.

[00:01:04] Now, I also argue that not only does it make you a great senior engineer, in fact, here's my claim. Junior engineer takes any feature they're given to build. And if they've seen technology or maybe the solution before, they can solve it. Mid-level engineer takes any feature they're given to build.

[00:01:20] And even if they've not seen the technology or solution before, they can figure it out because they've learned how to learn, they're problem solving strong. A senior engineer is somebody who can take any given feature, and not only just figure out for themselves, but enable the rest of their team to figure it out.

[00:01:37] Because they have technical communication, the ability to explain what their code is doing to somebody else in their team, in a clear and cordial manner. But I'd also say even for junior mid-level developers, technical communication is gonna make your own mindset clearer. So the purpose of Hard Parts is gonna differ depending maybe on your background in JavaScript.

[00:01:59] If you're someone who's a mid-senior developer, you've seen many of these principles before, maybe you've come from a computer science background. Then think of especially the earlier parts of JavaScript, the Hard Parts, as more about building up your technical communication. The ability for you to verbally work through exactly what's happening on the blackboard here, verbally talk through your JavaScript and your code with clarity and precision.

[00:02:24] That's not only going to improve the way you reason as an engineer, it's also gonna make you a more effective, collaborative team member on your engineering projects. You're gonna now be able to take complexity and make it salient or meaningful to other developers in your team. If you're not as familiar with some of these really quite hard principles under the hood of JavaScript, then it's gonna provide you some of the building blocks that is gonna allow you to become a better problem solver.

[00:02:54] We're gonna go under the hood of JavaScript, behind the scenes. See how all the pieces from the prototype chain, all the way through to lexical scoping, to the event loop and the micro task and callback queues. To how promises are working under the hood in order to give ourselves the features and the units of knowledge, the kinda atoms of knowledge that we can then wield to solve problems more flexibly.

[00:03:19] As we go through the workshop together, we're gonna see how these pieces come together, build up from our platform. We'll start with a measured pace in our jobs and understandings, if we focus on more experience, focus on the technical communication, building up to ever harder pieces from that shared platform of understanding.