This course has been updated! We now recommend you take the JavaScript: The Hard Parts, v2 course.
Transcript from the "Introduction" Lesson
[00:00:00]
>> Will: So here we go. There's me. There's me, I did my studies there. Currently on Codesmith. Previously create Icecomm. This is a thing I built with my friend Alex, which became the most popular WebRTC, has anybody used a WebRTC? Web Real-Time Communication, a tool for letting you build in the browser peer-to-peer connectivity.
[00:00:25] For video, for data, this is a library which we built a couple of years ago. Before that, I go to Jim. There are my wonderful talented sisters, I was just on the phone with one of them because she's being press-ganged into working for Codesmith briefly. I've told her she'll get below minimum wage, above minimum wage.
[00:00:44] But she's working not from this country, so I can do whatever I want. Okay, good, and there's the wonderful Codesmith team. There we go, excellent. So I teach software engineering at Codesmith. What is Codesmith? A center of software engineering excellence. So people who come to Codesmith, they come to build these powerful open source projects.
[00:01:07] A recent one, if any of you have built react projects, one is called Reactide. It's an IDE for building React applications. I think it has 7,500 GitHub stars. That was built by Peter, Mark, and Jenn, and that's an app for building React applications. So these are all open source, just like Mark in Frontend Masters, gives to the developer community through instruction, Codesmith aspires to do so through some of the projects that get built.
[00:01:42] WebDSP, a tool that let's you do sophisticated edge detection in live-stream video in the browser, was featured at Google I/O. All of these things are the sort of projects that I hope all of you are aspiring to build, and for those folk who went to Prime Digital, I hope that you all built there and also aspire to build now.
[00:02:07] These sort of ground-breaking developer, focused developer, giving technologies that let developers grow through your contributions. So it's based in LA, New York, and Oxford University. We select a group of people who have all these five capacities, and we'll talk about in a second. Graduates typically go on to mid-level engineer roles.
[00:02:31] So people come in, typically, at junior or above, and then get mid level or senior or even above senior. Then after graduating, they often get involved in machine learning, which is a huge part of the Codesmith curriculum. All right, the team that makes it all happen, there's Weylin, who runs the machine learning program, Brandon, head of engineering, there we go.
[00:02:56] Good, the things we look for in candidates for Codesmith. I tell you this, not about Codesmith. I tell you this because these are the five things that many of you here are on the job search, or going to be so at some point. These are the five things that make a world class engineer.
[00:03:12] No question. The top two are the most important.
>> Will: Not the bottom one. The bottom one says language and computer science experience, JavaScript experience, Python experience. Those of course matter. The thing that really matters is your problem solving with code and your technical communication. We are gonna spend the next two days, we are gonna spend the next two days, the next two, two days, working through developing all five of these capacities together.
[00:03:50] That's what the next two days are gonna look like. Even here, these are our expectations for Codesmith but even here, the app Frontend Masters, above all else, support each other. That means, the person who's still here after hours working through lunch, helping somebody else, the person the pairing who rather than saying, how fast can I figure this out for myself.
[00:04:15] When I come over, I see is instead, mentoring the person next to them, is navigating through the bug with the person next to them. That is the person who is following the core Codesmith, and I believe as well, core Frontend Masters values. All right, excellent. Here we go.
[00:04:35] Frontend Masters- JavaScript the Hard Parts- Day 1. We're gonna start off with Principles of JavaScript- Thread, Execution Context, Call Stack. Then Callbacks and Higher order functions, then Closure, all in one day. Our part is Part 1 and 2 in one day. Then Day 2, Asynchronous JavaScript, OOP in JavaScript.
[00:04:55] Part 4 and 5, or Part 3 and 4 of Hard Parts, all in two days. In JavaScript for the Hard Parts, we start with a set of fundamental principles. We item them three times, always. That's how you really cement them. These will let us problem solve through the hard parts to come.
[00:05:13] Let me be really clear with you. A lot of the focus of the next two days, for real, is technical communication. We've said this already, but the goal of hard parts is to work on almost a full body workout of these five things. The missing piece, there are a couple of programs out there, coding immersive type programs that get problem solving down really well.
[00:05:40] They make you struggle and I always shut those out. If you wanna know who they are, I'll tell you them, they're very good. What none of them take to the next level that gets the consistent mid-senior offers for Codesmith grads is technical communication. The ability to explain my code to you, my approach to you, so that you can even implement it yourself, without me ever actually seeing the code that you've written.
[00:06:07] But you can explain it with such precision. That turns out to be such an amazing predictor of how you work as a seasoned developer. It is such an amazing predictor of that, and so that's what we will really focus on today. That's what all this diagramming is about.
[00:06:24] That's what me calling on all of you for every single line. That is the hard part approach. That's how we'll be approaching it throughout, so be ready.