« All Episodes

Interview w/ Wes Bos (part 2)

Published 1/18/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)
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. Hey, everyone, and welcome to Developer Tea. My name is Jonathan Cutrell. And in today's episode, we continue our interview with Wes Bos. I'm sure that you are in as intrigued as I am with the work that Wes does. Wes is a very successful developer and a teacher. Particularly, you've probably learned something about JavaScript through Wes, especially if you are listening into this second episode. My guess is you went and checked out JavaScript 30. If you've didn't, you should. JavaScript30.com, 30 days of JavaScript small projects. They take just a few minutes. Some of my coworkers have actually commented about JavaScript 30. Without even knowing that I had interviewed Wes, they said JavaScript 30 was a really cool thing. You should go and check it out. If you are interested in learning more about JavaScript, and you probably should be, it's a really big deal right now in the development world, especially for web developers. So I'm really excited to talk to Wes again today. Just another quick reminder about the Developer TeaJavaScript January contest. It's being held over on CodePen. There's some cool pens that are coming out. I'm looking forward to seeing more of you create some JavaScript based pens on CodePen. All you got to do is tag it to JS January or JavaScript January, as well as Developer Tea. And the six pens with the most hearts will win a free year of CodePen Pro. You can go to codepenn.io slash pro to learn more about what features you would win in that. But go and get your CodePen pens. Go ahead and get those created. And I will be looking over those continuously, actually, throughout January and February. The winner will be announced in the spec Slack community. So make sure you join that spec.fm slash Slack. We'll announce the winner on February 5th. February 5th is when we're going to announce the winner. That's because we got started a day or two late. And I want to give you guys a full month to do this JavaScript contest. So make sure you get those pens created. Thank you so much for listening to today's episode of Developer Tea. And let's go ahead and dive in with the second part of the interview with Wes Bos. So this idea of building 30 things is not something new to you or to me. And hopefully not to the listeners at this point, you've seen us promote this concept of building small things. This is kind of the hope that I have for JavaScript January that you'll go and do something like Wes's JavaScript 30. And by the way, it's JavaScript30.com. That's the 30 not 30 spelled out. Do you own the 30 the word? I have to now, I guess. Yeah. I'll go fly it after this talk. We can cut that if you prefer. No, it's fun. That's the players. I didn't even think about that. I should totally should buy it. No, all of these days are like, I want to go and click on them right now. And instead, I'm going to do this interview. But all these things look exciting to me. And I've been doing this for a while. So certainly worthwhile. Even things like your 14 must know dev tools tricks. I love this stuff. There's just all kinds of fun stuff in it. And the reason why they're all done in small little ones other than rather than doing one huge 30 day project is that you get your confidence in life in general. You get your confidence from small successes that build upon each other. And that's no different in development. So if you can build something in 20 minutes, 40 minutes, however long it takes you, you finish it and you say it's done, then you feel really good about that. And you move on to the next one and the next one. And that's the power of habit is you get this little, I don't understand how the brain works. But you get this little kick in your brain where it's like, oh, that's nice at that work. I have success. I have some confidence in this. If you do that 30 times, it's going to be coming a habit. And it's funny that people are emailing me, being like, hey, why has I got to day 21? And by then I was just totally addicted. And I just blew through the last nine in a single day because that's exactly what I'm shooting for is that people get really excited about it. They get really addicted to building something. And then they go off and build 970 more things. That's my whole spiel is that if you want to get good at JavaScript, you don't sleep on a book. You don't read a bunch of blog posts. You don't talk about it on medium. You just put it in the work. You build 1,000 things and you do it over and over and over again. You're going to get really good. It's a continuous enlightenment. Exactly. When you see things that are going to make your life easier, it will light up in your brain and you'll start using those things. And you'll start recognizing more and more, hey, I saw this thing the other day that would work super well right here. That's actually how I'm learning ES6. I'm not throwing away everything and forcing myself to bring in all of the new stuff. I'm saying, hey, I'm going to try to use these particular features today. As I'm writing, I'm going to look for opportunities to use new array methods or use new objects syntax or whatever. And that has been actually really successful. I'm using a lot more ES6 than I realized I was using. Which, by the way, is another one of Wes's courses. Let me take a second and make sure everybody knows. Hopefully you know this by now, but Wes is in no way sponsoring developer TV. So this isn't like an ad interview, not at all. So just genuinely excited about all of this stuff that you're doing. So is this your most recent or is it second most recent, the ES6. The ES6. I was my most recent paid course. It was done before JavaScript 30. But in between ES6 and JavaScript 30, I re-recorded my React for beginners course because it had been out for a year. And as we know, this stuff changes incredibly fast. So I just totally re-recorded the entire thing. So they're all pretty much new in the last four or five months. Probably my favorite thing about ES6.io so far is that you do not allow the use of food bar and baths. It's funny. I pissed off a lot of JavaScript people, but everybody who's bought it says that's such a good idea. So it's funny that people who really know JavaScript say you should use food bar baths to abstract and make it easier to understand. And then people who don't know JavaScript or don't know it that well are like thank goodness. I hate food bar baths. Well we never going to use that in real life. And it's so much better to do something that you can actually apply at least mentally to a potential real life problem. You're simulating a real life problem, right? Yeah, exactly. And it also is just not fun. If you're trying to learn something and you're sitting there with food bar baths, I just don't, I'm like, why do I need to know this? When is this ever going to be helpful? Whereas like if you have an example where like I click a button or I've got this list that came in from an API and I need to pluck a couple items out of it and make a new object. This is like, oh, I've done that before. I could see myself doing that again. Yeah, yeah, absolutely. And so I think it comes from an era of development when variable names were less business oriented and more data oriented. Potentially, I'm not entirely sure what the history of food bar and baths is. But because we have much more expressive language features, for example, in ES6, we have the opportunity to make our code read a little bit more like a story and a little bit less like data management. Yeah, yeah, totally. Awesome. So ES6.io, JavaScript 30, and the big one that I mentioned earlier, React for beginners, which of these by the way, would you consider kind of your bread and butter your most popular course? Well, they're all, so I really only have, I've got three paid courses that's that's going to change pretty soon. But I don't know, we can take a look at it. React for beginners has sold 10,156 and ES6 has sold 7,100. So they're both like pretty high up there. I also have a course on and a book on sublime text, which is sold. I think about 6,000, 5,000. That's my oldest product. That's been around for the longest time. So they're all sort of up there. They all contribute to my income. Sure. Yeah. Well, it's very inspiring, actually. I was going to switch gears a little bit away from the developer side and talk a little bit about the entrepreneurial side of this. Yeah. Because this is really inspiring as a developer, because we have the tools in our toolset, or at least we have a, we can reach to get the tools to create our own stuff. I would love to, for example, I'm kind of channeling the developer to listeners right now. A lot of us would love to create teaching material like this. We'd love to participate in this in a similar fashion, whether it's about development or not is not really necessarily relevant. But this entrepreneurial spirit, is this something that you believe is kind of open to the world? Or is it something that you think is more quarantined for a certain group of people? I think that it is open, obviously it's open for anybody to try their hand at it. But I do see a lot of people who, let me back up. There's this book that I'm listening to called the E-Mith revisited. And in it, he explains that if you're running a business, you need to be the entrepreneur, which is the person who runs the business. You need to be the manager, which is a person that sort of oversees everything and does the books and all that. And then you also need to be the technician, which is the person that does the work. And all of us as developers are technicians. So we all build our stuff. And what I see a lot of people saying, like, I'm a technician, I can, I can do that as well. But there's a lot more to it. Like first of all, you need to know how to teach to somebody. Because when you are a developer and you know this stuff, it's often really difficult to explain it to someone who has no idea about it. And I see it a lot, very smart people who aren't able to explain it to them because they're so smart. And it just makes sense to them how these things work. So I know that's a big part to it as well. And then you also have to be like actually interested in the other side of it, which is marketing and being able to understand this psychology of selling and being able to make things that look good and are fun. So like, I don't know, there's a whole bunch of different pieces that go into it. And there's a lot of stuff that I do that, that people copy, but they don't necessarily know the why's there the house of why they're doing it. And there's all that to it. Yeah, it's very interesting to see developers who, you know, I've seen this a lot with developers. They want to start something and want to build a business, they want to build an app. And then when it comes to the actual user facing marketing side, it's not really what they wanted, like what they signed up for. They wanted to, what they really wanted to do was build a bunch of features and be autonomous. And have this bit of control and ownership over a thing that they created and they thought it was a really good idea. But when it comes to turning a really good idea into a really good business, there's so much more going on there than, you know, initially you think. And I think a lot of us have this preconception or maybe a myth that comes from culture. Maybe this is what that book you're talking about is about. And the idea that, you know, you can just have a good idea and if you have some skills paired with a good idea and you would build it, then everything else just takes care of itself. And that's it'll all fall into place. Absolutely not true. Yeah, it's unfortunately not true because in an ideal world, if you're a good developer and you're good at explaining this stuff, then like ideally, then it would then just sell like crazy because it's a great way to learn. But you still do have to let people know about it and you still need to communicate to people that this is really good and you still need a lot of like good reviews and stuff like that. So you need a sweet handwritten JavaScript 30 logo. Exactly. Yeah, you need all of these different parts to it. And it's funny that if you talk to a developer, most of them will say like, if you talk to them about their business, they say, oh, I'm like 100% of this business. If they didn't have me, it would be nothing. And you talk to the marketer and they'll say like, oh, they're just cranking widgets over there. The marketing is where all the money is made. And then you talk to the designer and they go like, the design means everything. And everybody thinks that their one piece is the most important when reality is it all works together in order to make the business run. And you need to know that. Today's episode is sponsored by Linode. We're taking a break from our discussion with Wes Bos to talk about Linode. Not to be confused with node, Linode allows you to get a Linux server up and running in under a minute. Now, of course, Linux can run a node, but it can also run pretty much anything else. If you have never worked with Linux, I recommend you go and check out all of the things that you can do as a developer with Linux. And really, Linode, it makes the power of Linux so much more apparent. You can run containers, you can run VMs, you can build your apps on a robust structure for a very small amount of money. We're talking about the amount of money that you would spend on dinner, probably. You can have a full month on Linode. On top of that, Linode offers a seven-day money back guarantee. So this is kind of a no-brainer. It's a seven-day money back guarantee. That means if you're not happy after seven days, then you've lost nothing. But if that's not enough to convince you, they're also offering you $20 worth of credit for using the code Developer Tea2017, that's Developer Tea 2017, all one word, $20 for free. By the way, you get two gigabytes of RAM on the bottom end plan. That's the $10 plan has two gigs of RAM, which is more than enough for pretty much anything you can imagine doing, especially as a side project. Of course, you may need more RAM later, but once again, Linode has you covered, they do hourly billing on this stuff. So you can scale up and scale down your servers, and you're going to only be billed for what you use. Go and check it out. Spec.fm slash Linode to see what they have to offer. Don't forget to use the code Developer Tea2017, Developer Tea 2017, all one word, to get $20 when you check out on Linode. Thank you again to Linode for sponsoring today's episode of Developer Tea. There's another lesson there. I think there's a lot of developers who are listening to this, and you have two things that you need to change about your mindset. Number one, respect your co-workers a little bit more. This is a huge problem in the development community. There's a lot of pride and kind of toxic behavior in the workplace because developers feel superior, and in some ways, developers are the rock stars. Maybe that goes back to our earlier conversation. But in a lot of ways, we have that rock star vibe, culturally speaking. And so it's easy to get into the place where we think that our co-workers are there to support us, rather than we being there to support our co-workers. So that's an important lesson to learn. I think you're exactly right. I think empathy is a totally underrated skill. A lot of people are talking about empathy as a developer lately. And I'm really glad to see that because I think that if you can get really good at being a people person, talking to people, at being able to support others, then that's going to make you a much better developer. It's just a big of a skill as it is to understand memory. Yeah, this is definitely another one of those things. We're touching on everything that we talk about on the show, but you're writing software for either for another person to collaborate with you on or for another person to use. Some of the software, somebody could argue, I guess, that you're writing software for another computer to consume. And that's fine. But ultimately, most things that you build are for the benefit of another person or a group of people. And so if you don't understand those people and you're trying to benefit them at the same time, it's like the parent who only cares for their child through a check in the mail. It's not going to work out super well for them because they aren't really, they aren't really connecting with the person that they're supporting. Yeah, yeah, exactly. Great. So I have a couple of questions that I like to ask all of my guests. By the way, I wanted to mention this 30, JavaScript 30. We mentioned the numbers on the ones that Wes has sold. We didn't mention the number on this. This one has 63,000 people. Well, I guess it's 62,907. By the time you hear this, it will probably be 63,000. 915, I just refreshed it. There you go. So we are seeing people sign up for this literally every minute of every day. If you're interested in JavaScript, which hopefully you're listening to JavaScript January version of Developer Tea, hopefully inspiring you to go and check it out. Go and look at JavaScript30.com. And again, Wes has not sent me a check at least yet. Yeah, I highly recommend this form of learning and this format, specifically of learning. So I like to ask all of my guests a couple of questions. But I want to ask you an extra kind of special question because I know that you have this page on your website is wesbos.com slash uses. And this is a list of stuff that you use and that you're regularly using. Obviously, you mentioned your sublime text user and that kind of stuff. Is there any tool or anything that you've used recently that you're super excited about? It can be, it doesn't have to be a tech tool. A book or something that you think is really valuable that you'd like to share. Oh, that's a good question. I think for me, I'm a huge automation fan. If I like to automate as much as I possibly can so that I can get down to doing stuff that actually matters. That's another thing about running a business is easy to get distracted by busy work. And I want to make sure that when I'm running doing my work, it's not busy work and it's actually contributing to the bottom line. So it's either making people happy like building courses or doing something like building a course that I can then sell to people. Sure. I think tech's expander for me. It's an application. It's very simple. You can write in something short. Like for example, I use my airline miles one a lot. So I just type in colon aeroplane and it expands to my air miles thing. Or if somebody asks for a student discount, I will write in colon student and it will automatically expand to some pre-written thing of a student discount. And it just helps me give those like save you 10, 20 seconds here or there. Obviously the time is a huge one. But also it helps me stay focused. So if I'm in the middle of some code and the email comes in, then I can just quickly deal with it with with tech's expander. Yeah. It's just such a good app and people think like, oh, you write a little code and it expands. But there's a lot more to it where you can randomize things. You can copy someone's name and then like pepper it through the reply. You can do all kinds of great stuff, adding dates, etc. I can second this one actually. I use tech's expander. Probably not as much as I used to, but I use tech's expander. And yes, it is much more than you can create and a little script yourself in a couple of minutes. It certainly has some really cool features like you can like an email template for example. If you're working in customer service, this would be golden for you. But an email template and it will look at your clipboard. And if you have like your customer name that you've copied into the clipboard, you can just insert that email and it will insert that customer name in all those spots exactly like West was. And you can have drop downs. So I have a couple other ones where I have to ask specific questions based on the info they provided. So from the drop down, it's like the same template, but there's a couple of questions in there that are variable. So it'll give you a template. You have a drop down. You select the question that you want to ask and then it will then put it in or that's cool. Capitalization. Like I use LMK. Let me know a lot. And if you type LMK, it'll expand to let me know all lower case. But if that's the beginning of a sentence, you need capital out. Let me know. If you put like a capital LMK, then it will capitalize the word. That's cool. There's all these like little nerdy things that you can just like get the most performance out of it. Yeah. This is, it's such a cool time to be alive. We have somebody somewhere who is instead of writing a quick script, spending most of their time doing this and that's so cool because it offers so much value to so many people. Awesome. So the two questions that I ask all of my guests. The first one is if you had 30 seconds of advice to give to every developer, regardless of their experience level or where they come from, what would that advice be? Things compound. So if you think about money, if you have a dollar in your earning 10% interest on that dollar, you get a dollar 10. But then the next year you get 10% on that. You don't get the 10% on your original dollar, you get the 10% on your dollar 10. It just compounds in and compounds in and compounds. And before you know it, you look up and you've got a lot of money in your bank account. That works exactly the same for your developer skills. So if you put in an extra 10% every single day or on the flip side, if you're only putting in 80% every day, you aren't going to get the huge compound interest of your skill set. And that's how you see. Sometimes you see people that are like 18 years old and they're just really good developers. And it's not because there's some amazing child that was just born with it. It's because they were putting in a little bit extra every single day and over years and decades, that really adds up and it's really going to help you out. Yeah, absolutely. To second this, there's something that I learned in development early on. And that was the idea. So compound plus stacking. So if you have a couple of ingredients at your house to make a meal, but those ingredients don't work well together, really you can only make one thing or another thing. So you can make either chicken or brownies. I don't know. Those are things that I like. But you can't really make a meal with those two ingredients. So the idea of stacking is you're going to be, if you learn two languages that work well together, you're going to be much better off, generally speaking in terms of actually practically applying this stuff, then if you learned two languages that are totally disparate from each other. Of course, there's information that you're going to learn by diversifying the way that your brain thinks. So I'm not saying don't go and learn these far off languages, like I spent some time learning Haskell, for example. And that really changed the way that I think about code and for the better. But at the same time, if you are learning JavaScript, you're probably going to be well-served to learn CSS. You're probably going to be well-served to learn HTML, right? Because those things complement each other. There's kind of an ecosystem where JavaScript CSS and HTML work well together. You're probably going to be well-served to learn something like Jade or those things that generally speaking, they're going to complement each other. It's going to make you a better developer. And you're going to be able to understand so many more examples of JavaScript out in the wild if you know those supporting technologies. Yeah, yeah, absolutely. I totally agree. So if you're a developer and now you're trying to choose something to learn this year, I would recommend looking at the things that are directly related to the things you already know. So for example, PHP developers, a lot of PHP developers know little to nothing about a patchy, right? And a lot of node developers know little to nothing about engine X. And the thing is you could make leaps and bounds in your career and also just in your understanding of the system that you're building on if you learn some of those supporting technologies. Yeah, absolutely. That's something I just learned was engine X. And now I feel like I can build up a multi, I do it. A multi domain app that serves on many domains and sells products and stuff like that. You just feel so much more confident when you know these things. I'm not a siss headman, but I know a lot about engine X now. Yeah. And it probably, and you can tell me if I'm wrong about this, but it probably helps you feel more in control of what's happening inside of your JavaScript, right? Because you know where things are coming from, you know how resources are managed, you know how requests actually make it to the node app or whatever it is. I learned this about the internet in general, like learning how the internet works. This is something that a lot of people just haven't really looked at. And learning how the internet works, learning how DNS works, that made me a significantly better developer because I start learning how request time matters, right? And why it matters. Yeah, absolutely. That was the first question. So compound and also stacking of your knowledge. The second question is, what do you wish more people would ask you about? Oh, that's a great question. People ask me a lot of that's why I have that entire uses page. It's because people ask me questions every single day about stuff like that. I think that one thing that I do and I think that why a lot of I have a lot of fun on Twitter with with all these people is that I don't just talk about web development. And I think that if anyone's trying to build some sort of personal brand on the internet, don't just talk about your one thing because humans are not just into one thing and that's it. So when people are talking about web development, it's a nice little bit of a distraction or an aside from from actually doing talking about web development stuff all day long. So yeah, just a really big fan of that stuff. I also like to talk about the web development stuff that I do. I do a lot of things. I do a lot of things. I do a lot of things. I also like to talk about just business stuff as well. That's one thing that people are starting to ask me about like obviously in this podcast. But I've got a lot of thoughts. I've been a contractor and running my own business my entire life. So I've got lots of thoughts on how business should be run and the best way to make a living from what you love doing. Yeah, I see it as a continuum that the business and development thing, right? This developer is really, you can make code hobby, but when it's a job, you necessarily have to start caring about business, right? It's a lot of times I think developers have this wrong conception of that idea that development should be quarantined away from the business concerns. Like business is a totally separate venture and branding is a totally separate venture. We talked about branding yourself as a developer on this podcast before. Obviously, you have a pretty good grasp on this idea of branding yourself. But a lot of developers, and I'm not sure exactly what the underlying reason is for this. I think it's because a lot of developers are intelligent and self-aware already. They feel this sense of maybe fakeness or plasticity to creating a brand for themselves because we reject this idea of being fake. We don't want people to see us as a constructed person. This doesn't go for everyone, but I think a lot of developers feel this way. We have a love for the genuine. Part of that is because we understand how the inner things work. What other people have for so many years thought to be kind of magical. For example, AI, you look at some kind of artificial intelligence and developers analyze that as, wow, they've done a lot of work to make that math really solid. Other people see it kind of as magic. We carry this same concept into this branding world and we say, wow, I don't want to be a manipulator. I don't want people to see me as just an ad face. There are ways exactly like Wes is doing. If you go look at Wes's stuff, there is so much of his personality that he hasn't torn away from this. You can be in business. You can build a brand for yourself and not be fake. It's totally possible. Yeah, exactly. I think that's a really good point. You need to know that you can do it without feeling yucky. It's a really interesting point. You said about developers knowing, I think with everything developers like to look behind the curtain and understand how everything works and if they see somebody trying to brand themselves, there's a lot of like, I don't know, there's a lot of like, skeezy people out there. The reality is you do need to to brain yourself and to market yourself if you want to run your own business. If you're just going to work for someone else, that's totally fine. If you're interested in running your own business, you do need to figure out how do I do this and feel okay with myself in doing it and get really excited about it. Yeah, that's the real challenge. The real branding challenge. This is why entire firms exist and millions of dollars are poured into branding. The real challenge is to find a way to uncover the truth in a way that is compelling. Those two things can coexist. You do not have to manipulate other people to get them to buy something. What you do have to do is create something of incredible value. Yes. You've created a bunch of stuff that is very valuable especially to developers who are learning JavaScript. Right now, that is the majority of the value that has been added by all of your courses. You aren't having to twist people's arm into buying this stuff. You've just created something that's compelling on its own. Yeah, exactly. You just have to help people. You have to make things that people need. You have to help them further their career. You really need to be on their side. Then a couple percent, a small percent of those people are going to just absolutely love you for doing it. They're going to be hungry for more and they're going to go look into what else do you do. Those are the people that are going to support my actual career and make sure that I can pay the bills. Sure, yeah. Great stuff. I will definitely send you everything barbecue related that I come across this next week and get your opinion on. Awesome. Wes, thank you so much for spending time with me today on the show. Is there any other, any special links, anything that you want to share with the listeners of Developer Tea? Just check me out. I'm trying to, actually, currently trying to build up my Facebook. I've been neglecting Facebook for a while. If you're interested in hanging out on Facebook and seeing how I'm working at that, I'm at facebook.com forward slash Wes Bos WES BOS dot developer or just search Wes Bos on Facebook and you'll find my face. You can go ahead and go. Pretty much I'm Wes Bos all over the internet. If you want to say hi, if you're hearing this and you liked it, just send me a tweet or whatever and say, hey, I enjoyed it. I always like to hear that. If you hit it, tell me that you hit it. It's at Wes Bos on Twitter too, right? Yeah. Awesome. Wes, thank you so much for being on Developer Tea. You're welcome. Thanks for having me. It was really fun. Thank you again for listening to today's episode of Developer Tea. Thank you again to Wes Bos. You can find them on Twitter at at Wes Bos. Of course, west has shared a lot of that information with you. Go and check out what he's doing. wesbos.com. There's tons of links that you can find in the show notes. Thank you again for listening to today's episode. Thank you to Linode for sponsoring today's episode of Developer Tea and giving developers a very affordable way to get a very powerful server up and running in the cloud. Go to spec.fm slash Linode for more information about Linode. Thanks again for listening to JavaScript January and for listening to Developer Tea. Until next time, enjoy your tea.