Interview w/ Wes Bos (Part 1)
Published 1/16/2017
In today's episode, I interview the creator of JavaScript30 and talented JavaScript developer Wes Bos.
Today's episode is brought to you by Linode. Linode Provides superfast SSD based Linux servers in the cloud starting at $10 a month. Linode is offering Developer Tea listeners $20 worth of credit if you use the code DEVELOPERTEA2017 at checkout. Head over to spec.fm/linode to learn more about what Linode has to offer to Developer Tea listeners .
Transcript (Generated by OpenAI Whisper)
Hey everyone and welcome to Developer Tea. My name is Jonathan Cutrell in today's episode. I am interviewing Wes Bos. It is JavaScript January on Developer Tea. Wes is a big name in JavaScript right now. You probably know him. If you have taken one of his courses, react for beginners or maybe ES6.io. He also has JavaScript 30, which is a brand new, free 30 day challenge for JavaScript Developer To build 30 small projects in 30 days. You know we've talked about this before. Of course we're going to talk about it in today's episode. Remember, interviews on Developer Teaare usually split into two parts and that is true for this interview as well. So make sure you subscribe so you don't miss out on the second part of the interview. Also don't forget the code pin JavaScript January competition. 6 people, 6 people will win a full year of code pin pro. This is a $75 thing by the way. $75 for a year of code pin pro and you will win simply by creating a pin on code pin. Make sure you tag it JavaScript January or JS January as well as Developer Tea. The only rule is that it has to be dependent on JavaScript. We've had a few entries but there's still plenty of space and time for you to go and create a pin. You can create more than one pin. By the way, if you want to create a series of pins, you can get more hearts that way. And that's how we're going to decide the winner. The pins with the most hearts, the top six pins with the most hearts, are going to win a full year of code pin pro for free. Once again, JavaScript January on code pin. Make sure you tag it with JavaScript January or JS January as well as Developer Tea. One final note, you will want to be a part of the spec Slack community that's where we're going to announce the winners of the JavaScript January contest. Go to spec.fm slash Slack and use your best email to sign up. It's free for you. It always will be. There are over 7,000 designers and developers in the spec Slack community. Go and check it out. Spec.fm slash Slack. Now, let's jump into the interview with Wes Bos. Wes, welcome to the show. Thank you for having me. No problem. I'm very excited to have you. I've seen your name all over the internet because as a responsible web developer, I've decided to increase my JavaScript skills. A lot of people are pointing to your name to do exactly that, especially actually react stuff. I've been picking up quite a bit of react. React for beginners has come up pretty much in every Google search. First of all, congratulations on having a really good SEO game, apparently, but also for running a very successful course. Thanks a lot. Yeah, it's been really great to have. Before we jump into the discussion on React for beginners and some of the other stuff that you're making, I want to talk a little bit about the fact that you have always been self-employed. And specifically, would like to hear about the beginning of that process. When did you decide that you wanted to work with code? When did you decide that you wanted to make that kind of your own thing that you didn't want to work for a company, but instead you wanted to work for yourself? Yeah. So I've always worked for myself. I haven't really ever had a job. I've just worked through a couple co-ops when I was in university. But all through, I guess even grade school, I was just like tinkering with building websites. And when I was in high school, what was really big for me was going to shows with hardcore bands, which is like screaming music and all these bands needed t-shirt designs and CDR designs. So that's sort of how I dipped myself into that space at first. And I'm not sure if you remember, but way back, MySpace came around at the exact same time. And it was huge to have like your CDR match up with your MySpace. So I remember all that. Exactly. So I had to really just learn how to write CSS with MySpace. And it was just a nightmare because it was, MySpace was just a big table. And you'd have to use these really. Yeah. The selectors were like, TDD, TDD, CallSpan for TDD, CallSpan. And there was like one ID in the entire thing, which is hilarious. But using that in like image maps, you could just like totally pimp out your MySpace. And that led to me learning a whole bunch of CSS and sort of getting back into building websites. And I just started making money off of t-shirt designs and CDR and building MySpace. And that sort of led into building websites for people. All of these kids in the bands would tell their parents that I did this. So then I would start working for their parents who had a little bit more money. And from there, it's really just history. I've always had an entrepreneurial spirit. I've always just loved to go out there and figure out ways to make money. I've got all kinds of different ways that I made money as a kid and through university that aren't websites. So it was always just a fun thing that I like to do. And it was never a doubt in my mind that I wanted to work for myself. Even doing co-ops through school. I realized like I don't really like this. I just like to do stuff that I'm excited about. And I like to figure it out on my own. Yeah. So I have so many questions now. First of all, what bands were your favorite? Because I also was listening to hardcore bands, especially a little bit more in high school. But still, still now. So do you have any favorites? I think like in terms of like the big ones for me, I did a website for a band called The Gorgeous, which was like nobody really knows it there anymore. But at the time it was a big break for me. There was a local band here called Dead and Divine that had some really gnarly shirts for. They played a big show with, I don't know if you remember Silverstein, they're still a band. Oh yeah. Yeah. So they played a huge show. They're from my town. So they played a huge show and it was like 800 people came out and this band, Dead and Vine, sold like 300, 400 of the shirts that I made. And then just walking around all the next day, just everybody was wearing them and it was really cool. That's really cool. Where are you from, by the way, if you don't mind me asking that? I'm from Canada. I'm just outside of Toronto. Okay. I grew up in a city called Burlington and I live now in a city just outside of it called Hamilton. Very cool. So I have a kind of a similar backstory and what I've, in terms of like I started as a designer, I've talked about this on the show before so I'm not going to believe with the point. But I started as a designer that really was interested. Actually, I started more as like a photographer, right? And I played in a few bands and a couple of my friends were photographers. So I wanted to get a portfolio online and then I realized that I enjoyed designing for the portfolio more than I enjoyed the subjects in the portfolio. Yeah. And then I realized that actually what I was enjoying was the construction process and some of those other pieces. It's an interesting thread that I found that typically runs through tech entrepreneurs and it's this idea of like into the mean or means to the end sort of in a way this, I have these tools that I can use and I know this thing that I want to do or I know this thing that I want to do and I know some tools exist that other people have used to get there and you know, I'm scrappy enough to figure it out. That's exactly how it is. I didn't want to get into coding because it was fun. Like I was a techie kid, but what did I want? I wanted a sweet banner. I wanted animated gifts on my MySpace page and how do you do that? Well, you figure it out and it's funny how many kids grew up in the hardcore scene or in the music scene. And it's just very much a mindset in terms of running a band, making flyers and everything and that translates very well to web development because it's just to figure it out. Well, this is another thing that I've talked about on the show quite a few times actually. I think there's a huge overlap of developers and musicians and entrepreneurs and musicians. I think it's like 98% it's insane. It's amazing how it works and nobody's done an official study. If somebody out there wants to do like a peer reviewed, you know, double blind study on this, but I really do think there's an overlap in a personality type that really fits this super well. But that's not to say that it doesn't fit other personality types, but rather that we were exposed to this through things like MySpace and the early days and for at least for web development. That culture, that subculture maybe kind of promoted this idea of open source. That's kind of what the hardcore scene felt like. It felt like a bunch of people who, like, it was cool if you lend somebody your guitar, you know, and that same spirit exists in open source world. Yeah, exactly. And also I think like a lot of us web developer people were, or like music kids were online a lot early as well, just sharing on MySpace and building websites and whatnot. So it's sort of like a perfect storm and you look up 10 years later and you see all your retired scenes, their buddies and they're all in web development or advertising or stuff that directly relates. Right. Because they had to learn how to use Photoshop to get their picture looking right on MySpace or on live journal, even better. That's some crunch to the photo. Yeah, exactly. And then that just, you know, became a job eventually. That's cool. Really interesting how everybody has that different backstory. Everybody has a different beginning. You know, was there ever a time where it felt like it was kind of difficult to make the ends meet, especially in those early days where you were, you know, making up the gap between your knowledge and what you had to make? Was there ever like a struggle, a difficulty in those early days? I always tell my students this because when you're learning HTML and CSS, there's this very raw, raw attitude and everything feels pretty good because you're making websites. It's not perfect, but HTML and CSS, you feel really, really good about it. And then what happens is that you then try to learn JavaScript and it's not as nice. It's much harder. And people get really bummed out about it and I did this as well. And what happened is I specifically remember exactly where I was and I was thinking like, I had spent the entire day trying to get a slider to work in the slider. I just didn't understand it. And I was so mad that J query kept messing up and all this stuff. And I remember being like, maybe I'm just not cut out for this stuff. Maybe I should just remove HTML and CSS. And then we start doing the things that everybody does. Maybe I'm not the right personality type for this. Maybe I'm not smart enough. Maybe I'm not good at math or all these things where you see people who are good at it, you know, like must be nice to be good at it. But the reality is that everybody just has to push past that barrier. And for some people, it's harder than others. And for me, it was extremely hard to learn JavaScript. It's hilarious looking back at it now because I love JavaScript and I'm really good at it now. But at the time, I remember, I seriously remember just like wanting to quit and just like questioning whether I could ever understand it. And if it was actually something that I could do, right? Yeah. Yeah. My first internship in web development was very similar to that. And in fact, believe it or not, the very first problem that I had to solve was also a slider. Maybe that's another one of those things that we all kind of went through the grueling process of building your own slider. And then another like a CSS problem I had to solve was vertical text, you know, flipping text on the side. And that was back before we really had anything reliable to use. And I remember thinking like, I've got these, and I worked for a company where there was some very intelligent, deeply technical thinkers, definitely not starting in, you know, HTML and CSS on my space. They were like, you know, writing lists and things that are way beyond where I was. And so I felt, not only did I feel inferior, I felt incredibly just as if my brain had never really formed for you. You know, like it was just such a, you know, a teeth cutting experience for me because I had so much to learn. And I realized that in that moment, but then I started seeing, you know, where I had gone wrong, right? And some of those enlightenment moments and realizing that, hey, wait a second, these guys didn't jump here overnight, you know? And looking back now, I have a little bit more respect for my own self, which is kind of a weird experience to have. It's not, it's not like a pride thing, but it's more like a, hey, you actually did it. Like you went through that really hard experience with a bunch of people around you who were way better than you. And you made it through. You didn't quit. Yeah. It's funny how that initial pushing through, it's generally your first programming language that you're learning. And it's just this huge, huge hump that a lot of people unfortunately don't make it pass because it is really, really hard. And if you can push through that, then you get to this point where the stuff doesn't get easier. It's still hard to program. And you still are always facing challenges, but you sort of have this confidence being like, I can figure it out, you know? Yeah, absolutely. Well, I feel like I could learn any language now. Yeah. And back then, I didn't, I didn't have that sense. I remember at that point, somebody was building like an iOS game and they were talking about memory management. I went to this little, there's an in-work seminar that we had. And I remember thinking, there's no way that I can ever conceive of what has happened at, like I'm not going to ever be able to wrap my brain around this. It's like a different, it is literally a different language, but it's also like a different level of thinking that I don't, I just don't think my brain can handle, right? But now I'm looking back and I'm thinking, man, I wish I could go and reattend that same talk, having learned so much of what I've learned now. Yeah. And those, the guys who were talking in that seminar had been doing it for 10 or 15 years. They'd been programming and see, you know, they'd done all this stuff. So I think it's a really important lesson for people who are listening to this podcast and anybody who takes less's courses and to not see yourself purely in the light of like what everyone else is saying. And also, by the way, this is, Wes, hopefully this doesn't break from your brand, but don't compare yourself to people like Wes. Yeah. Right? Like Wes has been doing this for a while now. Yeah, absolutely. Don't, don't do that at all. It's, it's really terrible. And it's, it's frustrating to hear it because you need to tell people like it just takes time and you just need to, to do this. And I have that also like I go to the gym for a week and I'm not seeing results and I'm frustrated. And then you look at people that are like super fit. And you're like, how long have you been working out and they're like, oh, about 15 years. And we're like, oh, that sucks. I don't want to do that. But you have to, right? Right. Yeah. We'll get right back to our interview with Wes Bos. But first one, talk about today's sponsor, Linode. With Linode, you can instantly deploy and manage an SSD server in the Linode cloud. They are no stranger to Developer Tea. Linode has been sponsoring Developer Tea for quite a while now. And that's because they believe in developers and developers have a lot of power at their fingertips. If you know about Linux, then you probably need to know about Linode. Linode allows you to put Linux in the cloud in just a few minutes. It's so easy to use. Eight data centers, plan start at just $10 a month. You can get a server running in under a minute. It allows you to get this stuff up and running super fast. They have hourly billing with a monthly cap. They have VMs for full control, native SSD storage. There's a 40 gigabit internal network. And it runs on Intel E5 processors. If you're not happy with it, you can get a seven day money back guarantee. You can get that money back. So you really have nothing to lose. On top of that, Linode now offers two gigabytes of RAM for only $10 a month. That's super cheap. And if it's not cheap enough, Linode is offering you a $20 credit when you use the promo code Developer Tea2017 Developer Tea2017. Make sure you go to spec.fm slash Linode and use that code Developer Tea2017. Thank you again to Linode for sponsoring today's episode of Developer Tea. That's that's really great discussion. And I hope that the people who are listening this, that gives you a little bit of confidence. And hopefully a little bit of like the stick to itness that you need to actually see through some of the stuff. But that actually brings me to a really good point. There are some people who are listening to this. Quite a lot of people who listen to Developer Teawho are in the early stages of their career and they're looking for things to learn. You have quite a lot of teaching. So you're not only a developer, but now you are maybe even primarily a teacher and secondarily a developer. One of the projects that you've worked on, I want to focus on it for a second because the concept is something that we've talked about on the show before. And I think it's such a powerful way to learn. It's the JavaScript 30. It's your vanilla JavaScript. So I have a few questions about this for you if you'll indulge me here. Yeah. Well, why did you choose to do vanilla JavaScript rather than you have your React for Beginners course, which we'll talk about a little bit later? Why did you choose to go vanilla JavaScript for this particular project the 30 days? And then the second question, I'll go ahead and give you both questions so we can talk about them as one. But we talk about doing a lot of small projects on Developer Tea for the sake of learning. So why do you think it's valuable to break up that 30 days into 30 small projects rather than for example doing maybe two or three or even one big project? Yeah. So first of all, why vanilla JavaScript? I also teach in person in Toronto a place called HackerU. And through doing that for the last five years and doing all of my courses for the last couple of years where I have React and all of this stuff, you get to really start to feel where people's pain points are. And I think what we're seeing is we're seeing a lot of people jumping into React or a lot of people who have just done their entire career in jQuery. And people don't talk about it because they're ashamed to admit it. Nobody asked me for JavaScript 30, but it just exploded when I released it because it's just something people have been like, oh, thank goodness. This is exactly what I need. So I think vanilla JavaScript is really what you need to get good at these days just because everything is moving so quickly. The frameworks are changing at such a rapid pace. And as much as people don't want to hear it, the way that you can sort of remedy that quick change is just to get really good at the fundamentals, the basics, and you'll be able to switch to whatever framework or whatever it is that you want. So I don't know. It's just sort of a collective sigh of relief that I think people have been waiting for a while in that they just need to get really good at their core fundamental understanding of JavaScript. And by building a whole bunch of different things in just vanilla JavaScript, it's fun. It's not as frustrating as using your framework. There's not a lot of setup. And in half an hour, you can be building something that makes you smile and reminds you why we have development. It's fun again. Oh, that's cool. That's a really great, great quote. Build something that makes you smile. That's a great way to learn. That's such a great perspective. I think a lot of times we make it a mechanical process that can I accomplish this thing or not. A lot of stuff out there for training in JavaScript that's just console.logland and you're just doing these things and people get that. But they just don't know how to apply it to real life. Like I don't know how to apply that to the real stuff that my boss is asking me to do where I have to click a button and I have a problem with that button or I want to make an interactive portfolio on my website. And that's the stuff I actually need to do. And there's a bit of a disconnect between that and actually knowing the fundamental language. So that's how I learned. I didn't learn by sitting down and paging through a book and learning about types and then moving into array methods. I learned by saying, I need a slider. I need to build this game. I need to build this interactive piece of the website and you sort of like pull different pieces in to build that and then what we do in the course is those fundamental pieces of JavaScript that we use to build it. Then we explain each one as we sort of hit it as we understand what a method is and etc. Yeah. So I'm looking at this page, by the way. And day one is JavaScript drum kit. So if you have stuck around for this whole episode, you know that Wes and I both have an appreciation for music, that's such a cool idea to get people hooked on this. You know, I think there's this kind of no man's land. You start out in development and learning a language like JavaScript and you're super excited about it, right? Yeah. You did something cool on day one or you saw something cool and you are, you know, gunning after you want to get that thing under your belt, you want to figure out how to make that thing. That's how I started. I saw a site that I wanted to emulate and, you know, I learned whatever I needed to learn to emulate that site. Exactly. Yeah. And then there's this like this whole couple of maybe years where it's more of a slog than it is exciting, right? You're trying to get this stuff to work and it's frustrating and you've got deadlines and, you know, if you're in a traditional job atmosphere, you have co-workers potentially and you're fighting, you know, this or that or the other. And then you finally get back around to realizing that a lot of the point of what you're doing is to delight, for example, your users, right? A lot of the ways that you're going to succeed is to go back to that original sense of excitement and building something that people actually enjoy using and that helps all of the things that are making that dead zone be a little more bearable. Yeah, yeah, exactly. I think that's really important to keep, I don't know, it's something that's really important to always keep in mind, build something that people enjoy, that you're helping your users at the end of the day. I think all too often, if you're on Twitter all day, you get distracted in that. It's all about the language and all about all of that stuff. But at the end of the day, you have people to service on your app or your website and you've also got business objectives, which is something people don't talk about a lot as well. But you need to be, not for everybody, but in most cases, you have a business that needs to grow and turn money and you are helping do that with your code. Yeah, absolutely. Thank you so much for listening to today's episode of Developers He. Thank you again to Wes Bos for coming on the show. If you don't want to miss out on the second part of our interview with Wes, make sure you subscribe and whatever podcasting app you use. Of course, you can always listen to the show and read the show notes at spec.fm. On top of that, there's tons of other shows. So if you don't have something lined up to listen to already, or even if you do, you should go and check out spec.fm. There's tons of other voices on spec. Thanks again to Lynneau for sponsoring today's episode of Developers He and for just handing out $20 bills for free to developers. You can use a code Developer Tea2017 that's Developer Tea 2017. Go to spec.fm slash Lynneau to learn more about how you can get a Linux server up and running in under a minute. It's super fast. Thank you again to Lynneau. Thank you so much for listening to Developers He. Don't forget about the JavaScript January contest. Go and create your pens on CodePen for your chance to be one of the six winners to get a full year of CodePen Pro for free. Thank you so much for listening and until next time, enjoy your tea.