Full Stack for Front End Engineers Introduction
This course has been updated! We now recommend you take the Full Stack for Front-End Engineers, v3 course.
Transcript from the "Introduction" Lesson
>> Jem: Welcome, I am Jem Young, this class is about teaching across the stack for everybody. But it's from a perspective of a frontend engineer, so, I, like you, build UIs. So, everything I say is just only the relevant data that you need. There's not gonna be anything extraneous, nothing you don't need, but I just want you to be comfortable working across the Stack.
[00:01:02] And we'll get more into what this class is, kind of an intro, but if you have any questions, just ping me or Mark. Or if I'm going too fast, just tell me to slow down, and I'll slow it down for you. All right, let's get started, yes, my name is Jem Young.
[00:01:21] I'm a senior software engineer at Netflix, I work on the acquisition team. The short way of putting that is I work on the front door to Netflix. So I work on the website, so I work on sign-up, registration. Essentially, if you're not logged in to website, that's what my team controls.
[00:01:36] And we work on TV-Y, iOS, Android, we work across all the platforms. I work mainly on WebUI, but sometimes I dabble in, other platforms like that. I love what I do, I, not only working at Netflix, cuz I watch a lot of Netflix. But I love coding, it's something I'm really passionate about, the only thing I'm not passionate about is mornings.
[00:02:00] I am not a morning person, so if you see me over here just like chugging his Coke cuz I'm trying to wake up cuz it's still ,what, 7 AM my time, which I don't wake up that early. Let's talk a bit about some serious business. The slides, in case you lose them later or you lost the link, that's jemyoung.com/fefs, front end full sack.
[00:02:22] I guess I should've done it the other way but I saw that I was like I'm not changing my NGINX config I'm too lazy to do that. If you're using Windows it's not preferable, but if you use GitHub for Desktop that will install a GitHub shell which has a nice Bash interface which is pretty sweet.
[00:02:38] Windows 10 has Bash built into it on some level, I think it's an optional tool probably.
>> Speaker 2: I know I have get Bash, so I'm not really sure.
>> Jem: Perfect, yeah but it's generally preferred to use some sort of a Unix based system but if not Windows will work.
[00:02:54] We're not gonna do that much deep dive on your own personal computer and all right. No questions yet, so that's good, so I want everybody to understand by the end of this, how does the Internet work? This is my most favorite interview question that I ask people sometimes.
[00:03:15] I'm not giving you any inside hints, cuz if you're from Netflix I probably won't ask you that, but I might. But it's my favorite question because it doesn't matter which part of the stack you're familiar with. You can answer at least some portion, this class is about giving you the broad overview to answer the entire question, how does the Internet work?
[00:03:32] From end to end, but the best part about this is if you're a backend engineer you know a lot about the backend. So you're gonna talk to me about threading and how the processes work. If you're a frontend engineer, you're gonna talk to me about HTTP and how the TCP packets work in DNS lookups.
[00:03:48] If you're a network engineer, you know way, way more than I do. And you're gonna talk to me about all the layers that are involved. But everybody should know how the internet works. We're engineers, we're web engineers, we build things for the web. So we should all know how the internet works, and by the end of this class, I guarantee you will know how it works.
[00:04:06] Maybe not in an extreme detail, but you'll be enough to ace any interview question. So when I say how does the Internet work, I don't mean this boring stuff in layer stack. Anybody who has a CS degree, or just has too much free time, has probably seen something like this.
[00:04:19] It's called a seven layer model, and it's so boring. I learned it in school, and it's this kind of a dry representation of how networks worked, and it's [SOUND]. You can look at it if you want, but I don't recommend it, don't worry about this. If you wanna say, very technical, you're, well, actually, type of person, this is how the Internet works.
[00:04:40] But, we're not gonna do that, cuz I'm a front engineer, just like you, so I wanna tell you how it works from my perspective. So, things we're gonna learn today, we're gonna level up your command line skills. This class is almost entirely command lines, so, if you're just groaning inwardly right now, I'm sorry.
[00:04:59] [LAUGH] It's, command line is not sexy, you don't build cool things that you can impress your friends and show your grandma or whatever. But this is like the low level how things get done on the Internet, or how things get done anywhere. It's all command line, just like in the 1980s, 2016, command line doesn't change.
[00:05:18] We're gonna learn how the Internet works, the entire thing. So when you're done, if you have some great idea, so if you wanna build I don't know, Netflix for cats. You could build that, you can build anything you want or Netflix for dogs, I love both of them.
[00:05:34] All right, you can build anything you want. Every business ever gets started with an idea and some sort of server, and by the time you're done you will have that ability to just go out and build whatever you want. And that's what I want, I want everybody just feel so powerful just like I have this crazy idea, and I'm gonna build it.
[00:05:53] And you're gonna learn the tools to do that today. We're gonna learn how to create and manage web server. So I'm gonna tell you some best practices, not all best practices because server management is a life-long pursuit of just excellence and it's so hard to get right. As we see really, really smart people getting hacked all the time, because it's hard to get these things right.
[00:06:12] So I'm gonna tell you just the high level best practices on how to kinda not shoot yourself in the foot, cuz it's really, really easy. We're gonna create a deploy system for a Node app. So because it's front end masters, we're gonna use Node. But everything we're gonna learn today you can use Java, you can use C#, you can use any sort of back end you want, Python.
[00:06:52] We're not gonna go too in depth on that, there are better classes that give you a really, really deep dive into build a web page. But by the end, you'll have a server. You'll have a server that points to a domain that you could show your friends and it all works.
[00:07:06] So let us get started, well, getting started. So this part we're gonna cover domains, a bit of DNS, command line basics, VIM, and then for the end of part one, we're gonna log into a server. And logging in is kind of the most crucial part cuz you need a server, we need to get in there somehow.