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 Cottrell, and in today's episode, I am interviewing Wes Boss. 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 developers 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 Tea are 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 CodePen JavaScript January competition. Six people, six people will win a full year of CodePen Pro. This is a $75 thing, by the way. $75 for a year of CodePen Pro, and you will win simply by creating a pen on CodePen. Make sure you tag it JavaScript January or JS January as well as Developer Tea. And 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 pen. You can create a pen. You can create more than one pen. By the way, if you want to create a series of pens, you can get more hearts that way. And that's how we're going to decide the winner. The pens with the most hearts, the top six pens with the most hearts are going to win a full year of CodePen Pro for free. Once again, JavaScript January on CodePen. 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. 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 Boss. 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... A responsible web developer, I've decided to increase my JavaScript skills. And 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. And React for beginners has come up pretty much in every Google search. So, 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... It's been really great to have. Before we jump into, you know, 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, kind of would like to hear about the beginning of that process. You know, 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 you wanted to make it your own? But instead, you wanted to work for yourself. Yeah. So, I've always worked for myself. I've only... 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 CD art design. 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 CD art match up with your MySpace. Oh, yeah. I remember all of that. So, I had to really just learn how to write CSS with MySpace. And it was just a nightmare. Because MySpace was just a big table. And you'd have to use these really... Yeah, TD, TD, TD, TD, TD. Yeah, exactly. The selectors were like, TD, TD, TD, call span for TD, TD, call span. And there was like one ID in the entire thing, which is hilarious. But using that in image maps, you could just 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 CD art and building MySpaces. 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 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... I was into hardcore bands, especially a little bit more in high school. But still now. Yeah. Do you have any favorites? I think in terms of the big ones for me, I did a website for a band called The Gorgeous. Which was... Nobody really knows who they are anymore. But at the time, it was a big break for me. There was a local band here called Dead and Divine that I did 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 Divine, sold like 300, 400 of the shirts that I made. And then just walking around the mall the next day, just everybody was wearing them. And it was really cool. That's really cool. And 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 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 belabor the point. But I started as a designer that really was interested... Actually, I started more as like a photographer. Yeah. 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. There's an interesting thread that I found that... That typically runs through tech entrepreneurs. And it's this idea of like... Ends to 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 was... 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 GIFs 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. Oh, yeah. And everything. And that translates very well to web development. Because it's just a... 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. Yeah. 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 and 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, you know, we were exposed to this through things like MySpace in the early days. And, you know, at least for web development, that culture, that subculture maybe, kind of promoted this idea of like... 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? Yeah. And that same spirit exists in the 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... It's like a big storm. And you look up 10 years later and you see all your retired scene-ster 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 LiveJournal, even better. Add some grunge to the photo. Yeah, exactly. And then that just, you know, became a job. Yeah. That's cool. So 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 like raw, raw attitude. And everything feels pretty good. Because you're making a website. It's not perfect. But like 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 jQuery 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 do 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 and you're like, must be nice to be good at it. But the reality is. 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 seriously remember just wanting to quit. And just 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. 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. Oh yeah. Flipping text on a sign. 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. There was some very intelligent. Deeply technical thinkers. Definitely not starting in. You know. HTML and CSS on. On MySpace. They were like. You know. Writing Lisp. 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. Fully. You know. Like. It was just such a. You know. A teeth cutting experience for me. Because. I had so much to learn. And. And. I realized that in that moment. But then I started seeing. You know. Where I had gone wrong. Yeah. 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. You went through that really hard. Yeah. Experience. With a bunch of people around you. Who were way better than you. And you made it through. You didn't quit. Yeah. I. It's funny how. That initial pushing through. It's. 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. 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 a. An iOS game. And they were talking about memory management. I went to this little. It was a. In work seminar. That we had. Yeah. And I remember thinking. There's no way. That I can ever. Conceive. Of what is happening. 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 re-attend. That same talk. Having learned so much. Of what I've learned now. Yeah. 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. 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. Wes's courses. And. To. 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. 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. 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 I'm 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 Boss. But first. I want to 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 T. Linode has been sponsoring developer T. 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 T. 2017. Developer T. 2017. Make sure you go to. Spec. Dot. FM. Slash. Linode. And use that code. Developer T. 2017. Thank you again. To Linode. For sponsoring. Today's episode. Of Developer T. That's. That's. Really great discussion. I hope that. The people who are listening to this. That that gives you a little bit. Of confidence. And. Hopefully a little bit of like. The. The. Stick to it-ness. 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 T. Who 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're. 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. Yep. It's your vanilla. JavaScript. So I have a few questions. About this for you. If. If you'll indulge me here. Yeah. First of all. Why did you choose to do. Vanilla. JavaScript. Rather than. You know. 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 T. 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. What. Why vanilla. JavaScript. Sort of. I also teach. In person. In Toronto. A place called. Hacker you. And. Through doing that. For the last five years. And. Doing. All of my courses. For the last couple years. Where I have react. And. And all of this stuff. You. You get to. Really start to feel. Where. Where people's pain points are. And. 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. 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. 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. The way that you can sort of remedy. That quick change. Is just to get really good. At. The. 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. A collective. Sigh of relief. That I think people have been. Been waiting for. For a while. In that. They just need to get really good. At. Their core. Or fundamental. Understanding. Of JavaScript. And. By. Yeah. By building a whole bunch. Of different things. In just vanilla JavaScript. It's fun. It's not as frustrating. As. As using your framework. There's not a lot of setup. In. In. In half an hour. You can be building something. That makes you smile. And. And. And. Reminds you why web development. Is 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. I. That's. That's such. Such a great. Like perspective. I think a lot of times. We. Make it. A mechanical process. Yeah. Can I accomplish this thing or not. There's a lot of like stuff out there. For training in JavaScript. That's just console. Dot. Log land. And. You're just doing these things. And. 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 a. 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. The fundamental language. So. That's how I learned. I didn't learn by. 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. 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 a JavaScript. Drum kit. So. If. 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. This kind of. No man's land. You start out. In development. And. 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 actually 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've. 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. To keep. I don't know. It's. 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. If you're on Twitter all day. You get distracted. In that. It's all about the language. And all about. All about that stuff. But. At the end of the day. You have people. To. To service. On your. Your app. Or your website. And you. You've also got business objectives. Which is. Something people don't talk about. A lot as well. But. You need to be. In. Not for everybody. But in most cases. You have a business. That needs to grow. And to earn money. And. And you are helping. Do that. With your. Own. Yeah. Absolutely. Thank you so much. For listening to today's episode. Of Developer Tea. Thank you again. To Wes Boss. 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. In 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 Linode. For sponsoring. Today's episode. Of Developer Tea. And for just handing out. $20 bills. For free. To developers. You can use the code. Developer Tea. 2017. That's. Developer Tea. 2017. Go to spec.fm. Slash. Linode. 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 Linode. Thank you so much. For listening. To Developer Tea. 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.