What goes into creating a collection of online courses that reaches hundreds of thousand of people? Wes Bos explains everything from how he's built an audience and grown his massive email list, to his work habits and schedule, and a step-by-step walkthrough of how he created and launched his most popular course.
Welcome to the Indie Hackers Podcast. I'm Courtland Allen, from IndieHackers.com, and on this show I talk to the founders of profitable Internet businesses to try to get a sense of how they got to where they are today, so that the rest of us can learn from their lessons and experiences.
Today, I'm talking to Wes Bos. He is a bit hard to describe, because he's so good at so many different things, and I'm sure a lot of you listening are rabid Wes Bos fans, just based on the number of questions and suggestions I got for this interview. There are very few introductions that I could do that would really do Wes justice, or even this episode justice. I think it's one of my favorite conversations that I've had on the podcast, so why don't we just jump right into it?
I'm here today with Wes Bos. How's it going, Wes?
Doing pretty good. How about you?
Doing excellent. Thanks a ton for coming on the podcast. People have been requesting you for months now, basically since I started this thing, so it's awesome to have you on.
Awesome, cool. I'm glad to join and — I don't know — share any little wisdom that I do have.
Well, you are a bit difficult to describe and to introduce, because you've excelled at so many things. Your website, you describe yourself as a designer, a developer, an entrepreneur, a speaker, and a teacher, and I think usually people who use this many words to describe themselves are exaggerating, but you're actually at the top of your field in every single one of these areas, which is super cool.
Let me start by asking a tough question. If you had to pick just one of these to be good at, and all of the other areas you had to give up for good — they're just completely gone — what would you pick?
A developer. At the core of absolutely everything that I do is web development, so I wouldn't have those other things, or if I didn't have development and I had all the other things, it wouldn't be much, so it's very important that I have that very solid foundation of being a web developer.
You answered that much faster than I thought you would.
Well, yeah. You could take all those other things away, and maybe with the exception of being an entrepreneur, I would still be very happy in what I'm doing, but if you took away the web development, I know that I wouldn't be as happy as I am.
Can you give us the abridged, two-minute story behind Wes Bos as a web developer, your origins as a developer, and how you got to where you are today, then the middle of the story, which is where you are today and what you're up to? Then, the end of the story would be where do you hope to be, as a developer, in a few decades?
All right. Well, I cut my teeth pretty early in the MySpace days, back when… I think it was about 17 years ago. I just did a whole podcast myself on my origin story, so I'm pretty fresh with it. About 17 years ago, I got into building my own websites. That moved into building MySpace designs, and that's where I really learned coding for different bands, and then from there I just started doing freelance consulting, all the way through high school and through university, and, by the time I got out of university, I was running my own business, doing consulting.
Right around that time, I got into teaching, something called Ladies Learning Code here in Toronto. We did weekend workshops, learning how to use WordPress, and that just compounded into me understanding that I love to teach. One thing — lots of blog posts, YouTube videos, lots of other teaching — led to another, and that's where I became… I don't know. The blog posts and the videos lent itself to lots of traffic, which I decided I wanted to write a book about. We can talk about that more, if you like, but I wrote this book on sublime text, and that was my first product, and I was hooked since then. That's my beginning story and where I'm at right now.
I'm curious about the future. Where do you see yourself as a developer 20-30 years from now? Where do you hope to be? Are you already where you hoped to be, as a developer?
That's a great question. I don't know. People always ask me a lot about the future of web development, and the future of me, and I really have no idea about the future of web development. I'm much more of a reactionary person than a visionary, so I just watch what's going on around me, and then you react to that, which is funny, because part of my success was a react series. I'm a dad, by the way, so I have dad jokes.
Well, I'm happy to report that dad jokes are more than welcome on the Indie Hackers Podcast.
Oh, good. Yeah, I just don't really know where it's going. I definitely like to stay on the cutting edge of things, but I'm definitely not the sort of person that's paving the way, in terms of what the next five, 10, 20 years is going to look like. I think in 10-20 years, I think that… I don't know where I'll be. I might be still doing web development and software, stuff like that. I might have a goat farm, because I'll be frustrated with coding so much, at that point, where I'll go off and start farming goats or something crazy like that.
I'm curious to hear how much impact you would say you've had across all of your roles so far. First, what metrics do you look at? Do you measure your progress in terms of the people that you've reached or the money that you've made or the clients that you've landed? Second, if you don't mind sharing, what do some of those numbers look like?
There's two main things that I use to measure my success and how things are going. The first one is mostly signup numbers and sales numbers. How many people are signing up for free courses? How many people are signing up or paying for the paid courses? Really, the thing that keeps me going is those small, little emails that I get, where people have got a new job or they've broken into the industry, taken a couple of my courses and actually landed themselves a new job. Someone got a $15,000 raise just a couple weeks ago. It's pretty crazy to think that, "Oh, wow! They've just learned a skill that you've taught them, and they've then taken that and turned it into some sort of betterment of their life."
That's the cheesy aspect of it, but the hard and fast numbers part of it is… I don't know. What do we have here? My paid courses, all together, probably have somewhere around almost 30,000 paid users, between my four big paid courses, which is Sublime Text Power User, React for Beginners, Learn Node, and ES6 for Everyone. My most popular one is React for Beginners. That one has 14,000 paid people that have taken it. Then they trickle down from there. That's been my main driver there. Then I also have my free courses, which is how a lot of people hear about me. Those go from… I don't know. I think my lowest one probably has about 10,000 signups. Then, my highest one is JavaScript30, which currently has 108,201 people who have signe up for that course.
Those numbers are huge. That's awesome.
Yeah.
I really like that you mentioned the impact that getting positive feedback from your customers and the people that you've helped has on you, as a founder. You're right. It's a little bit cheesy, but I think it's underestimated as a factor that keeps you going as an entrepreneur. I mean, just looking at the people that I've talked to and the people that I interact with on a regular basis, I think one of the top reasons that people end up failing when they try to start a business is simply that they quit early. That could be for a whole number of reasons, right? They lose motivation. They run out of money. Things aren't working. Getting positive messages in your inbox from people that you're actually affecting… There's nothing that's more of a shot in the arm than that.
Absolutely. Those are the main things that keep me going. On the flip side, if you're someone who has appreciated something that someone's putting out, whether it's a podcast or a course or just a little blog post, it's great to just drop someone a little note and say, "Thank you so much, because that's what keeps it going."
This is the perfect moment for me to shamelessly request that if you're listening in and enjoying the episode, that you go on iTunes and leave a review. It really helps people discover the podcast, and I would personally appreciate it. In fact, I can guarantee that I will read your review, because I read every review. If you do end up leaving one, you can rest easy, knowing that it will make me feel all kinds of warm and fuzzy inside.
Anyway, Wes, you mentioned that you've got four paid courses. You've also got free courses.
Yep.
Your business really consists of a whole bunch of different moving parts. Can you give us a high level outline of how it all comes together and what makes it tick?
Behind everything is an email list, which has… I think I've got about 165,000 people on my email list right now, and pretty high open rates on that, as well. It goes from anywhere from 30% up to 60-70% on a good one. That's pretty huge for me. I've been growing that over probably four or five years. Then, I've been on Twitter for about 11 years now, and I've got 100,000 people following me on there. That's been pretty important with establishing credibility and meeting people and just having great conversations, in terms of what people are looking for in courses. Those are my big outreach points, and I guess what makes it tick behind the scenes. I guess what makes it tick behind the scenes is also me, just building the stuff, as well.
Right. Is it just you, by yourself?
Yeah, yeah. My goal for this fall is being able to learn how to delegate, because it is a bit much. It's a lot of work to do support and all kinds of stuff like that, as well as be able to create courses, as well as be an Internet marketer at the same time, and all this stuff, so I am dabbling with asking for help and hiring people on different things, whether it's graphic design or Facebook ads or things like that. I am looking at hiring out people, but I'm definitely struggling with that not having control over absolutely everything.
It's hard. I tell people all the time the importance of delegating. Meanwhile, I'm horrible at it, and I basically never do it.
Yep, yep.
Just listening to all of your numbers, I mean, over 100,000 followers on Twitter and an email list of 160-170,000 developers… You've really only been building for five years, so it's safe to say that you've traveled a considerable distance down the path of success as an entrepreneur. A lot of people listening in want to build an online business like you, but they're still in the early phases. They're trying to decide what to work on. They're trying to figure out how to get their product out the door or find their very first customers, so it'd be great to hear about your early phases. What's the story behind the first dollar that you ever made online, either from a course or your book or some software or any other scalable business?
Yeah, so probably for… I don't know you can look back at my YouTube and look at some of my early screencasts. I think it all stemmed from me not wanting to create a course. I didn't even know that was a thing. It was just me blogging and creating YouTube videos about things that I had learned or questions that people have asked me, and then I went and wrote a blog post about it or I went up and created a YouTube video.
From helping people, from writing all of these blog posts, some of them got really, really popular. Some of them didn't. People really appreciated it. I was also very, very in the IRC. Back before we had Slack, we had IRC, which, if people had questions about JavaScript, I would help them. I was just all about spending a good chunk of my day helping people out, in terms of how they can get through their coding, because when I had first started learning how to code, even still today, if I have a question about something, it's amazing when someone can take a little bit of time out of their day and explain something to you or find the issue with what's going on. That's really what I spent a lot of my time on, and that's really how I got a lot of my substantial boost, before I even thought about making a course.
Then, how did I get the first dollar? Well, I had written all these blog posts about Sublime Text, and they were getting lots of traffic. When you write a popular tech blog post, every single publisher out there comes knocking on your door, asking if you'll write a book for them. At the time, I was thrilled, but I soon learned that writing a book with a tech publisher is a bum deal, and you don't make much money on it at all. You do it more for speaking engagements and client services and stuff like that, which both of those I already had, so I wasn't really all that interested in.
I decided to write the book myself, and I recorded some screencasts, as well as wrote the entire book, and I self-published it, and I just put it out there. From the email signup that I had on my Sublime Text blog posts, I had about 2000 people, and, of that, about 300 people bought it within the first day or two. That was my first like, "Whoa! This actually works!"
Yeah, that's crazy, just a giant lump sum payment basically from a whole bunch of people signing up at once. It probably feels a lot better than the money slowly trickling in a dollar at a time.
Yeah, I should also say, though, that I was very vocal about writing this thing for a year and a half, and along the way I had lots of doubter moments, being like, "Huh, I don't know if anyone would want this. Is it any good? Who am I to write a book? How would I market it? Would anybody actually buy it? Is it worth me spending these hundreds and hundreds of hours on something that might just flop?"
By being vocal about it, people kept asking, "When's it coming out? I really need that myself." It kept me along. It took a long time to get it out, but finishing it was definitely what I needed, in order to show me that this thing worked.
I'm willing to bet that you've learned a lot of lessons about entrepreneurship since then. What are the biggest misconceptions that you had in those early days, where you can now confidently say that you've learned better?
Yeah, the absolute biggest one was that if somebody else has already done it, then there's no point in actually doing it. That's because when I had written my Sublime book, or even when I try to write a blog post, I would always be like, "Oh, there's already a blog post about this out there. Maybe it's not worth it," right? I pushed past that and put it out anyway, and I realized, sometimes people don't jive well with what's already out there. Sometimes people really like the way that you explain something, or maybe they like it because yours is up to date. Whatever reason somebody likes yours better is all the reason you need in order to try to put something out yourself.
Of all of my courses out there, there's equivalent courses. There's tons of equivalent courses. There's way cheaper courses that are out there, but that doesn't stop me anymore, because I know there's a lot of people out there that like… There's a lot of people out there that don't like my stuff, and that's totally fine with me, but I know that there's also a crew of people who also like my stuff and are chomping down the doors. Is that a saying? They're beating down the door to get whatever it is that I release next.
Chomping down the doors… It goes something like that.
Chomping at the bit and beating at the door. Those are the sayings that I wanted.
Yeah, I think you're speaking my language right now, and people who have listened to more than a few podcast episodes are probably sick of hearing me say this, but you shouldn't worry about the competition. You shouldn't shy away from tackling a problem, just because somebody else is already addressing it, because you can always bring your own unique solution to any given problem.
On top of that, if you end up bending over backwards to find an unsolved problem that's never been addressed before, then you're doing yourself a huge disservice, because you don't have any proof that anybody cares about this problem enough to pay for a solution to it. In fact, you've got a lot of evidence to the contrary.
Yep, absolutely.
Another thing that I often tell people, and I'm glad I have you on here today, because you're the perfect person to tell me whether or not this is good advice… I tell people, who are trying to get started, that one of the best things that they can do is start by teaching. It doesn't have to be teaching in the most traditional sense. I mean, sure, you can start courses or video tutorials, but you can also start an interview site, like Indie Hackers, or a podcast, or you could even just aggregate raw data on a topic and tell people who are doing research. A good example of that is Nomad List, which started off as a Google spreadsheet full of information on cities that digital nomads like to travel to. Regardless of the format, I think helping people learn something is one of the best ways to get your start as an entrepreneur. I've got four or five different reasons why I think this is the case, and I'm curious what your thoughts are on each one of them.
The first one is a perfect segue from what we were just talking about, and it's this: Almost no matter what you teach, you're not going to have to worry about the competition, and nobody's really going to have the market completely cornered. The reason for that is that people have different learning styles. Some people like learning in classroom settings. Some people like reading blog posts. Some people like audio. Some people like hands-on exercises. Some people prefer textbooks, et cetera. Teaching is almost never a winner-take-all market, just because there's so many different solutions to the problem of people wanting to know something, and you can always add your own solution to that list.
Reason number two is pretty closely related, and that's that it's relatively easy to come up with an idea for teaching. You have to start with something that you know very well or that you're willing to learn yourself, so that you can actually teach it. Then you just need to get a little bit creative with building a product or a service that helps people learn. As a teacher yourself, what do you think about this, so far, and is this a good place for entrepreneurs to start?
I think so. I think the first point, in that the market isn't cornered, sometimes I see people come out with stuff that is very obtuse, so they don't necessarily know if there's a market there or not. That's where I'd encourage people to write blog posts or make YouTube videos on maybe three or four different topics, and then you will clearly see which ones there's interest are by the number of views that that thing has. If people aren't sharing it, if people aren't watching it, maybe it's not something that people are all that interested in, or it's not a problem that they actually have to be solved.
Yeah, that's exactly right, and that's literally my third point, is that you can get your minimum viable product out in very little time. You don't actually have to build an entire course to get started. You can just start with one or two blog posts or a YouTube video, just like you said, and measure the results, and actually get practice in marketing it and figuring out how people react to it. That's another great reason to start teaching.
Number four, and this is a big one, especially for developers — well, only for developers — but there's not that much code involved in teaching. You're generally just writing, and so you can get a blog post or video out the door in a day and start trying to sell it immediately or start trying to market it immediately, and you don't fall into this black hole that a lot of people do of spending six months, basically just building a product without any idea whether or not people are going to like it.
Yeah, I'm on that, as well. I think that there is sometimes a bit of… In this whole Internet marketing space, I think that there's a lot of people that don't focus on quality content all that much. They're more focused on building their email list or all these marketing techniques. What happens is that they just crank out some PDF or some crappy course or something like that, and then they go nuts with all the tactics. They listen to 300 Mixergy interviews or something like that and start going to town with the different tactics, when, at the core of what I do is very good content. Then, the marketing and all the techniques are just on top of that, to expose the very good content. Yes, go quick with your stuff and crank out a blog post in a day, but also make sure that it's good, as well.
Yeah, totally agree. I think that's the other end of the spectrum. It's either spending way too much time on what you're building, to the point where it actually isn't good. You spend so much time without talking to anybody that you are investing in something that's not good. The other extreme is spending way to little time and focusing too much on the tactics. That's great advice.
Yeah, exactly.
The fifth point is: I think that if you know something well enough to teach it, you're probably a lot more likely to be passionate about it. A lot of people end up starting these businesses that seem very opportunistic. They see a gap in the market and their like, "I'm going to do that." It turns out they're selling bibs to babies in Taiwan, or something they don't care about. After a month or two, they're like, "Oh, this is exhausting. I'm tired." If you're teaching something that you know very well, you're a lot more likely to enjoy it and stick with it when things get tough, and you're actually reaching people, who are interested in the same topic that you're interested in. I can't overstate how important it is to be motivated about what you're working on.
Oh, yeah. I totally agree with that. Often, I'll get approached by companies, who have a, "We convert Microsoft Excel documents to nice-looking tables," or something, and they want me to do a tutorial on it or something like that, or a whole series, or even something that is tangentially related to what I do. It might be still web development and whatnot, but it's just I'm just not excited about that, and that's not going to make a very good course, and there's no way that I'm going to be in that for the long haul. I only pick up stuff that I'm super excited about. Even if I don't know it as 100%, I'll definitely be excited about it and know quite a bit about it and know that I'm in a good spot to start teaching it.
Then the last point, which I think will be a good segue into what I want to talk to you about next: Teaching is a great way to build an audience. There are just so many people in the market to learn something. People are always learning, and if you can teach them successfully and help them actually learn what they're trying to learn, then that's a very personal experience, especially if you're doing something like video or audio. The people that you teach will trust you. They will follow you. They'll want to hear more about what you have to say, and building that kind of engaged audience is really the secret to serial entrepreneurship and launching products in the future that succeed.
Oh, absolutely. I totally agree.
You, in particular, have done an excellent job building an audience. As you mentioned earlier, you've got hundreds of thousands of subscribers across multiple channels. Is building an audience something that you knew would be important from the very beginning?
Yes.
How did you know that?
Because back when MySpace was a thing, the way that MySpace worked is that you would add friends, and whoever had the most friends, you'd get put in people's top aid and whatnot, and, at the time, I was designing T-shirts for bands, and I was designing CD art, and I was doing MySpace designs, and how do you reach people? Well, you build up a large following on MySpace. I spent years on MySpace. I think I had about 20,000 friends on MySpace, which is hilarious to think about.
As cringy as that was, it clearly showed me that I was dealing with bands from all over the world, and they were sending checks to my house when I was just in high school, so I definitely realized the benefits of growing an audience. Then, when Twitter came along, I was like, this is the same thing, but just a different platform, and how do you build a huge following? On MySpace, you just had to click the Add Friend button 20,000 times, but on Twitter, it's a one-way relationship, so you actually have to offer something of value, in order for people to want to follow you.
I had started, just by talking a lot about web development. The thing that I do is called "Hot Tips" where, if I have a little tip about coding, I'll take a screenshot of it, and I'll explain how it works, and it's just enough for someone to read it over a minute and go, "Huh, didn't know that," or "Huh, that's a neat way to approach it." It's just a little bite in your day, and that's what people come to Twitter about. I think that a lot of people think that Twitter is all about pushing content or about pushing their thing, but it's really about helping people and being part of a conversation, especially to developers, because developers have very high bullshit detectors. If you're just queuing up your Buffer or Edgar with 20,000 articles on web development, no one's going to follow you or no one's going to get any value from that, but if you're actually creating… If you meet people where they're at, like on Twitter, with good quality content and not try to push them off Twitter every single tweet, then it's going to work for you.
Yeah, I think one of the difficult things about building a following through Twitter and publishing that amount of content is just trying to be that prolific. How many times would you say you tweet per day?
I don't know, maybe 10 times a day, and then I post a hot tip maybe two times a week, and sometimes they'll get really popular and sometimes they'll fall flat. Then, most of my tweets are just people asking questions or being involved in a back-and-forth conversation about how to best approach something or different tools that are in there. I've been at it so long that it's like second nature; whereas, something like Facebook… I haven't logged in, in a week and a half, and I have to make sure that I go to Facebook and think of things to post, where Twitter is just second nature.
Yeah, I'm the same way with Facebook. I forget about it all the time. I'm like, "Oh, yeah, that exists." Is there any other advice that you'd give to a new entrepreneur, who's maybe just launched their business or thinking about launching something? How do they get in the habit of using Twitter as prolifically as you have, and what do they tweet about? Who do they follow?
If you're just starting out, it's all about getting on there, finding people that are in your little industry, and having conversations with them. Most of your tweets should be replies to other people, and you should be joining in on conversations about different tools and your thoughts on things and whatnot. You can also… What I used to do is I would just have these different queries. I have TweetDeck open, and you can search for different things, like Need Help or… I forget was the query was that I was looking for, but people would ask for help, and you can just jump in and provide some help on what it is that they're looking. There's a lot of people asking questions on Twitter, and if you can jump in and help somebody, they're definitely going to respect you for that and most likely give you a follow.
I know a lot of people are probably asking themselves, "Well, why does building a Twitter audience even matter? Isn't it just people tweeting about what they ate for lunch?" What would you say is the biggest thing that you get out of your Twitter audience.
I think that it's just like a… You have your finger on the pulse of what's going on. I think that there's some industries, where Twitter doesn't make sense at all, because there's just no industry there, but I think for web developers, for marketers, for things like that, that's where people hang out. If you are on Twitter every day, you can get an idea of what's new, what's going on. What are people struggling with? What are the questions that people have? You can just get a feel for where those pain points are and what the hot technologies are, and you can turn that into the ability to build a course or whatever.
Oh, that's cool. You're using it almost for market research basically?
Yeah. It's not like I sit down and go, "Oh, what are the tweeples saying today?" but it's the water cooler for web developers, and web developers don't really hang out anywhere else. I guess there's Slack rooms, there's Facebook groups. There are… Instagram's becoming really popular for web developers right now. There are a lot of those, as well, and I'm definitely on those, but in terms of where do the heads of industry chat? It's on Twitter.
What about your email list, which is similar to Twitter, in that you built up a huge list of subscribers, but what would you say are the definite advantages that you get over email that you don't get, or that you don't see, with Twitter?
Well, email is good, because you can get a lot more. I have 100,000 followers on Twitter, but if I tweet something out, eight people see it. I don't know, not eight, but it's very low, the amount of people that actually see your tweet versus how many followers you have; whereas, you send an email out, and half your list is actually going to see it versus probably 1% or 2% of your following on Twitter, so you have a much higher ability. When I have something very important to send out, I'll send that out on my email list. Then, my Twitter is more like pumping things up, talking about it; whereas, your email list is, " I've got something to say. Here's what you should know about it."
Then, another thing I use on my email list is I'll often just send out — this is terrible for my inbox — but I just say, "Hey, what are you struggling with? What's going on right now?" People are a lot more vulnerable when they send a one-to-one email, especially if you write it in a tone of… I don't know. My emails are often written in a tone of like, "Hey, I just was on vacation, having some good times. Here's the technologies that I'm playing with right now. By the way, what are you struggling with right now?" or, "What are you hoping to learn in the next six months?" I'm like, "Just hit reply," and I'll get hundreds and hundreds of replies from people. Sometimes it will be just a book about their whole career journey and where they're stuck right now. That is very good, because you can take that and, both, use the wording that they've used in the copy of your website and also know what to teach next, because you have your finger on the pulse of what people are having trouble with.
That's almost unbelievable to me that you'll do that, because you have such a giant following. What do you do with those hundreds of emails? Do you take the time to read all of them?
Yeah, I do. I have this system called "The Breakout Email Management System." I wrote a blog post on it, about how I manage email. I've got lots of snippets, lots of short… Most emails that I write are a sentence or two, but most of the emails that I get are where people are just requesting quick things. Every now and then, you get a little book from people, and you read it and try to respond as empathetic as you can.
Yeah, that's tough. You're a better person than I am. I dread clearing my inbox every day, and I doubt it's as big as yours.
Yeah, yeah, me too. I probably get, I don't know, 50-60 real emails a day.
Yeah, that sounds familiar actually, and it's a ton. Real, actionable emails directed solely at you… That's a lot.
Yeah, but that's why I've been working a lot on my systematizing the email, because almost every email I have should be resolvable within two minutes or a minute or something like that. If something takes longer than that, then there's a problem somewhere else in your workflow that is ending up in your email inbox.
You've got a ton of responsibilities. Somehow, you're able to do all of it while managing your email and responding to hundreds of people. A lot of people, who are listening in, are wondering how they, themselves, can make the time to work on their businesses, and you've also got a family. You've got just one kid, or you have two kids?
I've got two kids now, yep.
How do you make the time to work on your business around all of your other time commitments in life?
Yeah, that's a great question. I have always worked for myself, and that's a huge advantage, because that allows me to take part of my day and, right now I work full-time on building my courses, but up until about eight months ago, I was doing client work for a good chunk of the day and building my courses in another part of the day, and I would just make sure that I section off time to work on it, because it's so easy to be like, "Well, this client work or my job will pay me now, but this course might pay me someday? Maybe, but probably not? I don't know." Chunking off time and being able to risk a couple hours a day, whether that means your income is going to go down or not while you try out building something, that's totally fine.
I don't know. Just over the years, I've spent less time on client work and more time on my own courses. As that boat gets closer to the dock, there's a time that you can jump for that. For those who have a full-time job and are looking at trying to do this, I don't know. I am very good about not doing work outside of work hours. I only work 9:00 to 5:00. I don't take my laptop downstairs and stuff like that. I don't know how I would do it, if I hadn't started this before I had kids, because there's definitely almost no time in the day, when you have a young family like that. I don't know. I think you have to carve some time out, whether it's early in the morning or whether on your lunch break or whether you can negotiate something with your partner about working a couple hours in the evening on it, just because you think that it will make a big difference in your life.
Yeah, I mean, I don't have kids, so I also don't have the answer.
It's definitely a touchy subject. You listen to people like Gary Vaynerchuk, who shout, "Family first! Family first!" but that guy is not actually home a whole lot.
He's working 16 hours a day.
Yeah, and he goes home for an hour and stuff like that. That's not something that I really want for my life, but that's really why I've put the time and the long hours into this thing initially, is so that I can build a really nice family life for myself. I don't commute. I don't have to do any of that stuff that really adds stress to having a family life.
Do you have any hacks that you've used or systems that you've implemented, besides your email management system, that can help you work more efficiently? I know, when I talk to developers especially, I often find that they've built some really cool internal tools for themselves, or they've automated a lot of processes.
One thing that I have… I actually haven't used it in a while. When I launch a course, or when I launch a free course, I'll probably get hundreds of tweets being like, "Oh, this is amazing," or people sharing it out, people doing a really great thing and sharing it with a friend, and I really want to say thank you to absolutely everybody, so what I built was this massive thing, where I would type RT, and it would type out random thanks. Then it would go into my database of 40 or 50 different thank you messages and send them one of those thank you messages.
When I tell people that, they go, "Oh, that's so skeazy and scammy. Why would you automate saying thank you?" but I want to say thank you to all of these people, but I just don't have the time or the mental energy to figure out what to actually say thank you for, so I created this little text expander snippet that would randomly grab a thank you, that it gives them the time of day and says, "Thank you for doing this." Often what that will do is start or spark a real conversation with the person, which you can then go back and forth with them on, on Twitter, not as a robot.
Yeah, I take it you don't have a robot, Wesbot, so you can have a full conversation?
No, no, not yet, at least.
As an entrepreneur, being able to wear many hats, being able to write code, do your own design, write compelling marketing copy, obviously helps you out. How important would you say it is for a modern entrepreneur, starting an Internet business, to be a developer, because a lot of people are trying to decide whether or not they should take the time to learn to code or they should just outsource all of that and work on launching their business today?
Well, I think I'm a bit biased, because I'm a developer, but I think having the development skills, at least enough to string things together, is super important, because when you have ideas for things that might make your business do well, that's the whole growth hacker thing. Whether you like the term "growth hacker" or not, the whole idea behind that is you're able to get into your product and try things. Often that requires fundamental changes to your code base or different checks inside of your code base, at some point. If you can code those things yourself…
An example is that I recently rolled out Purchasing Power Discounts, meaning that, depending on which country you come from, some countries around the world have very low purchasing power in the U.S. dollar, and my courses are a week or a month's worth of income for them, so the course is cheaper for them. I was able to go into my code base, detect which country they're coming from and offer up a coupon code, and then also restrict those coupon codes by the country that they're coming from. Most people wouldn't be able to do that. A lot of people come to me and they just have this rat's nest of Zapier put together that it's too brittle to be able to try these things out quickly. Yeah, I'm sure you could hire a developer for that, as well, but that's expensive.
Yeah, I agree. I think learning how to code is such a… It's not absolutely necessary, and I've talked to people, who've built businesses, who don't know how to code, but it's such a tremendous advantage that, if you have the time and the motivation to do it, you totally should do it. You are the perfect person to talk to about doing it.
I teach in Toronto here at a place called Hacker U. A lot of the people who we… It's like a bootcamp and evening classes. A lot of people, who come through and do these classes are in marketing, not because they want to transition to being a developer, but they understand the value of thinking in code, and being able to talk to people who can code is super important. At the very least, understand what that looks like.
What level, do you think, of coding people really need to be at to start their own projects, and how long would it take someone, who has never coded a day in her life, to be able to launch her own online project, that has a chance of making money online?
At the very basic, you should pick up WordPress, because WordPress starts from a working state, and then you can add things on and keep it working along the way; whereas, if you're building your own thing, you're starting from a blank slate, which is not working at all, and being able to get it to a point where it is working, and it's secure, and you handle all of these different things. I've built my own platform, and it's taken years to build. I definitely would say, get to know WordPress. Get to know some basic JavaScript, and that will give you enough to be able to get something up and running on your own.
What if you are somebody, who's got a good year or two to spend learning to code? You're in no rush. You don't need to get something out today. What kind of path should somebody in that situation take to learn how to code? Do you recommend bootcamps? Obviously, you're biased. You've got courses. Which of your courses should people start with?
I actually don't have yet a beginner JavaScript or a beginner web development course. Usually what I point people to is freeCodeCamp, but I think, if you've got the time, you've got the money, to take a bootcamp, definitely do that. I know people are a little bit down on bootcamps, but those are almost all developers, who learned the hard way. A bootcamp is a great way to spend — I don't know — a couple months just getting up to speed on it. Then, if you have a year or whatever after that for self-study, or if you join an agency and work along that, so you can get up to speed, I think that's the best and the fastest way to do it.
While we're talking about code, I'd love to talk about the code behind your products, because you seem to have an entire, like you said, a platform built out, that controls everything. As an outsider looking in, if I go to WesBos.com, I see all these different courses, and they seem to live on different websites, and you've got your mailing list, and you've got the system you just described, where you can lower prices for people, based on their country. Is everything connected into a single platform, or are these all separate apps behind the scenes?
Well, WesBos.com is a WordPress blog I've had for 10 years, or whatever, but the thing that powers my courses is called , and what that does is it powers every single domain name for each course. I do it a little bit different. I launch a new domain name for every course, and then it has an affiliate system built into it. It has a country code, discounts built into it. It's got a bunch of reporting, bunch of tax reporting for myself, the ability to… What else does it have in it? Obviously, sell the products, charge the credit cards. It has the whole delivering of the product, being able to download the videos or stream them online and keep track of your progress.
It's just all of these different things coming together. I initially built it because I had released a book and videos, and there was no platform out there, at the time, that did both of those. I'm sure there's really great platforms out there now, that you can launch a video course, without having to write a single line of code, but I'm really glad that I did, because I have full control over both the user experience, like how they view the course, as well as being able to try different marketing techniques out.
Yeah, if you would indulge me for a bit, can you go into some of the technical details about how that system works, because it's pretty fascinating to hear about? Where are you hosting it? What kind of languages are you using, et cetera?
Yeah, it's a Node stack. The whole stack is written in JavaScript. It's built on a framework called Express. The database is MongoDB, which I host on a company called . The whole is hosted on DigitalOcean. In front of that, I use Cloudflare, which protects against DDoS, as well as it gives me this header, which is country code, based on where they're coming from. The whole thing is templated out. Well, the front end is templated out in JADE. The back end, the whole viewer, is entirely built in React. I use Stripe and PayPal to charge the credit cards. I use Stylus to style all the different individual pages, and I'm able to share some styles, like styling the FAQ is shared between all of the websites.
Cool.
I think that's about it. I have a whole video on YouTube, explaining the ins and outs of the entire stack, if people are interested in diving into it a little deeper.
That sounds great. I'm going to have to go watch your video. You've basically got just a gigantic monolithic Node application.
Yeah, it's a gigantic Node app. It's actually not that big. I would say probably a couple thousand lines of code, maybe more than that. I don't know, but it's custom built, in order to handle the multiple domains. I used to have a different app for every single website, and then for each of my free courses, and it was just a nightmare to maintain; whereas, now I can launch to, I think, it's about seven or eight different domain names. I sold stickers a while ago, which had to be shipped to people, and I could just modify my course platform a little bit to sell stickers to people.
It's kind of cool to be able to just morph this thing into anything that I want and not have to worry about… A lot of people ask me to open it up or to sell it to them, because they also want to use it, or to license it to them, but I love being able to just jump in. It's my own course platform. I don't have to worry about how other things work for other people, because it's custom built for me.
Yeah, that sounds perfect. I'm super jealous. There's nothing more fun, as a developer, than building tools for yourself, if you have the time and the opportunity. It's really just so fun.
That's true, yeah. Because I'm not doing client work anymore, I don't want to be that teacher, who just codes these examples that are not real world and I don't actually run into any problems, so I want to be able to host my own stack and run into problems with the database and hit all of these issues that real world applications will hit, because that makes me a better teacher, and I can tell people examples against my own experiences.
Yeah, I would love to talk a little bit about teaching, itself, because I've taught a few people to code. I taught my brother and also another good friend of mine how to code, kind of one-on-one, but you are teaching people to code and teaching people the ins and outs of different language features at a massive scale. Where do you get the confidence to teach people this kind of stuff, and how have you evolved as a teacher over the course of your career?
When I first got asked to do a workshop, because I had been writing blog posts, I was like, "Why would they ask me? I surely don't know a whole lot about this topic," but you come to realize you, as a developer, if you've been doing this for a couple years, you do actually know quite a bit of stuff. If you can master the one topic that you're talking about, especially if, as you teach things, you realize you don't know it as well as you thought you did, and that makes you figure it out really, really well. I don't know. I think that just being like, "Ah, I don't know everything," I'm probably not the best person in the world, but I am really good at explaining things, and people seem to like the way that I explain things, and I know it well enough to build my own stuff, so here is how I understand it and here's how I would build something. People seem to learn well from that.
Do you have a playbook or maybe a list of things that you've learned about teaching, that have improved over time since you started, or do you think you started off at the same level that you are now?
Yeah, I think that when I first started, you assume that, because they're simple to you, they're simple to everybody. That's absolutely not the case. They're very complicated to people. Often I will simplify something, or often I won't take in a third party dependency that really convolutes it, or whatever, because… A good example is, a lot of times people, in a Node application or a React application, will create tons and tons of index.js files and put them in, import and export, and string things along, and create all kinds of stuff, where it's very hard to understand how can I even trace what's going on in this application?
Often, my courses are a lot less files, and they're often simplified, so that it's very easy to understand what's going on. I think that's what I've learned, is that developers often overcomplicate things, and that's a huge reason for people being confused. If you can really simplify it, and not dumb it down, but if you can work at how do I simplify this and how do I explain this in such a way that regular people can understand it, people will really enjoy it.
Yeah, and speaking of simplification, one of the more popular things that you've done is a course called JavaScript30, and I know it's popular, because when my brother asked me who I had coming up for the podcast, I said, "Wes Bos," and he immediately said, "Hey, that's the JavaScript30 guy." I love that.
Yep.
I think it would be really fun to walk through one of your courses, maybe JavaScript30, maybe a different one, and just take us from beginning to end, of how you came up with the idea for it, how you prepared the content, and how you launched it, just because I think it would be really interesting and educational for listeners to hear what goes into creating one of these things and promoting it and getting it out the door.
Yeah, absolutely. I had been teaching in person for… I think, also, teaching in person is the best, because if you just start a course and record it and give it to people, you don't see the confused look on people's face, and you don't see people dumping the course halfway through because they're frustrated or whatever. By teaching in person, you can really get a good idea of what people are struggling with and what the common trip-ups in coding are.
As I was teaching in person, I often had people coming to me, asking, "How do I get better at JavaScript? I need help. I just need more stuff to work on," like, "I get it. This exercise was great. How do I do it again? What do I build?"
I always have tons of ideas, so I had been keeping a list of extra little exercises that would be good for people, and as I built that up, I thought, this would be a really great series of every day you build one thing. It's Vanilla JavaScript, which is totally against the grain right now, because there's no frameworks, no compilers, no libraries, no boilerplate. It's just JavaScript. People are overwhelmed with everything that's going on right now, so I thought this would be great. I think it took me about a year and a half to build up a list of 30 different fun exercises, something that was fun and real world enough that you're going to learn something, but small enough that you could do it in 20 minutes, an hour, however long it takes you to watch the video and to do it yourself.
Were you passively thinking up these exercises, or did you spend a year and a half setting aside dedicated time to work on this?
No, this is just a folder on my computer for a year and a half, of every time I came up with an idea, I would open up a file on my thing, code a little exercise, and then, once I had 30, or once I had about 50 of them, I went through every single one, decided which ones would be good for videos, picked 30 of those, and then I went through every single one and just made it slick, polished it, made the HTML and CSS look really good, made it make sense, made sure I used these in the latest ES6 stuff in it, so people can get a chance to work with that. Then I had 30 things that I was building, and I recorded all 30 of them, and I launched it.
As I'm doing this, I'm pumping it up on Twitter. I always post screenshots and little GIFs of what it is, and the hype was pretty big behind it. By the time I launched it, I launched it to my email list and on Twitter, and people are pretty excited about it.
Yeah, well, I'm curious about a few different points in that process. For example, when you were recording the videos and at the same time hyping it up on Twitter, how long did that take? What kind of tweets were you sending? Were you sending emails, as well, or did you wait until you launched to send them emails?
I sent, I think, one or two emails before it was launched, explaining what it was. Then I did it all in the open on Twitter, not the code. I didn't show at all the code online, until I had totally done everything, and then launched that one. How long did that take? I think, from the point of having that list of 50 rough exercises to launching, was about three or four months full-time. It was a huge undertaking. It seems like I just turn on my recorder and start playing, but they're very polished. They make sure that they're following best practices. All of them look really nice. They've all been designed, so, yeah, it's about three or four months, start to finish, from having the ideas and some of the code to launching it to my email list.
How did you decide what your business model would be for JavaScript30, because you ended up giving away all of this for free? Was that something that you struggled with, or was it obvious from the get-go that you were just going to give this away?
I had three or four free courses before that, so I had since discovered the business model of reciprocity, just showing people what your teaching style is like, helping people for free, doing no strings attached, where you have to upgrade or anything like that, being just put them up, put them on YouTube, put them on your own platform. They're totally free. If you like it, I've got some other stuff; if you don't, totally fine. That's really it. The business model is helping people, and enough people that get helped will seek out your other stuff.
What was the launch process like? You mentioned you launched it on Twitter and your email list. What did you send?
Yeah, I think people need to know that it's coming, so I often will email once or twice in the coming month to hype it up. Then, when it's time to launch, you write an email about what the course is, what it's going to help you with. Then, also what I do is I often do what's called a hard ask. I'll say, "Hey, I legit just spent four months working on this thing. It would mean the world to me if you could tweet it out, or if you could send it to a friend or a coworker." Then, when you sign up for the course, it also says, " Everybody's signed up for a hundred courses and never taken them. Don't make this the course that you just shelf. Commit to it publicly. Post on Twitter. Ask if"… I encourage people to get what's called an accountabilibuddy, where you do it with a friend, so you can keep each other accountable. That was huge, as well. It doesn't make you share it on Twitter, but it asks nicely, and tells you to commit to it publicly, and that helped a lot.
Yeah, that's really smart. That's a great way to do it. What would you say are the biggest takeaways from launching JavaScript30? Is there anything that you learned from launching this particular course that you didn't know beforehand?
I think that it was just don't ask people what they want. I guess I have asked people what they want, but nobody told me, "I would like 30 days of JavaScript problems to solve." It was more listening to people, who were overwhelmed with frameworks and compilers, who were overwhelmed with React, and all these new things, where they didn't have any sort of solid foundation to build on, or they had been using jQuery for all these years, and they didn't feel that strong with Vanilla JavaScript. From all of those things, I thought, well, you could get better, if you just did a whole bunch of work and did a whole bunch of exercises with it, but there was nothing out there that was concrete, and you just put it in your lap to work on it.
I think listening to what people's pain points are really helps me figure out how this… This one has absolutely blown up. It's exactly what a lot of people needed, and I think because I had taught in person, and because I had been listening to what pain points were, it really hit a nerve and exploded.
Yeah, I mean, it's everywhere, and I think your point about understanding what the actual pain points are, at their core, is so important, because, at the end of the day, like you said earlier, you can learn every marketing tactic in the book, but if the product that you build isn't any good, if it doesn't actually solve a pain point that a lot of people are looking for a solution to, it's like a negative multiplier on all of your marketing efforts and tactics.
Yeah, yeah, exactly.
What would you say, and I know earlier you mentioned that just not being afraid of the competition and realizing that you can build something, even if someone else has already built something similar, but besides that, what would be your biggest tip to an aspiring first-time entrepreneur, who's maybe just now trying to come up with an idea or trying to get their product out the door?
I think, just get content out there. Start producing stuff. Start putting stuff out there, because if you're just sitting there, sitting around, thinking about what it should be, you're not going to get anywhere, but if you start producing… For me, it was blog posts. I don't know if it's blog posts anymore. It's probably more YouTube videos or free courses or whatever. Just start producing stuff and get it out there. Start helping people, and you're going to figure out the rest along the way.
All right. That's a perfect place to end the interview. Can you tell people where they can go online to find out more about you and all the stuff that you're doing?
Yeah, I'm WesBos.com, W-E-S B-O-S. I'm @wesbos on everything, so just find me, Instagram, Twitter, Facebook, whatever it is. I'm there.
All right. Thanks so much for coming on the show, Wes. It was awesome talking to you.
Thanks for having me it was fun.
If you enjoyed listening to this conversation, and you're looking for a way to help support the Indie Hackers Podcast, then you should subscribe on iTunes and leave a quick rating and review. It only takes about 30 seconds, but it actually really helps get the word out, and I would personally appreciate it very much.
In addition, if you are running an Internet business, or if it's something that you'd like to do in the future, you should join me, and a whole bunch of other Internet entrepreneurs, on the IndieHackers.com forum. It's basically a community of like-minded individuals, just giving each other feedback and helping out with ideas and landing pages and marketing and growth and other Internet business-related topics. That's www.indiehackers.com/forum. Hope to see you guys there.
Did you know Indie Hackers has a newsletter?
Sign up to get insights, takeaways, and exclusive content from each new episode, directly from the host, Courtland Allen.
He said something that doesn't get said often, and in my opinion is completely underestimated: all the tactics in the world won't make up for a mediocre product. I believe the opposite is also true: a badass product (i.e. a product that lots of people really want) can make up for a lack of tactical cleverness.
I realize it's not the most exciting lesson to learn, but it's one of the most important. Wes' success goes a long way to showing that.
I am a bit surprised that you didn't find more real world strategies. As I have listen to the podcast and read the transcript, I found quite a few.
The over all I think the strategic vision is obvious, grow your audience, which is really about growing the top of your sales funnel. Wes pointed out he does that in a few ways. On Twitter he gets followers though his "Hot Tips". He points out that Twitter is a one way road so you have to create real content and add value to the conversation to get noticed. That's a tactic. He also mentioned that he messages 10+ times a day but puts out a Hot Tip 1 - 2 times a week. He then explains that he replies to conversations and tries to be helpful, again a tactic. He even explains he uses TweetDeck.
Then the whole giving away content and using that to grow his audience. Look at the Javascript30 part of the decision. He talks about the "hard ask" which is another tactic. He talks about the business model of reciprocity. Again a tactic.
Personally, I got a lot out of this discussion that was both strategic and tactical as well as actionable. Thanks Wes!
Hey Wes,
During the episode you mention directing beginners to freeCodeCamp. I am currently working through it. I have trouble finding material to help me figure things out when I get stuck, is there anything you can recommend?
I recommend Colt's course Web Developer Bootcamp for 10$, 40 hours of video quite up to date and probably the best primer. Take it from the person who tried all => FCC, CodeCademy, OneMonth, Other Udemy stuff. Wes Bos courses + Web Developer Bootcamp is probably the best investment I made in learning to code over 5 years time during my free time. Not associated with it :)
Thanks!!
My Main Takeaways:
If Wes had to pick one of his titles ["Developer", "Speaker", "Designer", "Teacher", "Entrepreneur"], he'd pick Developer, because that's what he feels he is at his core.
Wes has been building websites for over 17 years.
Wes did freelance consulting throughout highschool and college, and by the time he finished college he was running his own business doing consulting. He also got into teaching, writing blog posts and making videos, his popularity resulted in him writing a book which was his first product.
Wes describes himself as a reactionary person rather than visonary. He typically looks at what's going on around him, and then reacts. Which is why he is unsure as to what the future holds, and usually just reacts to whatever happens.
At the time of this interview, Wes had an email list of over 150k people, that he had been growing for 4-5 years prior. And a Twitter with over 100k followers, and had been building it for about 11 years
Wes wants to learn to delegate as he struggles with losing control of things.
Wes didn't want to make a course, he just wanted to write blog posts of things he'd learned, and to answer people's questions.
In the early days, Wes just genuinely liked to spend a large chunk of his day helping people.
Don't use publishers, it's not usually a good deal. Just self-publish, particularly if you already have an audience.
When self-publishing his first book (about Sublime text), he had built an email list of about 2,000 people. And by the time he launched, about 300 people from this email list bought it. And that was his epiphany moment of "Woah, this actually works!".
Wes was very vocal about writing his first book for about a year, but he had many moments doubting himself.
Wes' biggest misconception about entrepreneurship was that "If someone else has already done it, then there's no point in doing it". Don't worry about the competition. Be unique and differentiate.
One of the best ways to get started is to start Teaching.
In this "Internet Marketing" world, a lot of people tend to just push out poor products and only focus on the marketing "Tactics", but these types of businesses don't last. Instead, create genuinely quality content.
Wes only picks things up that he's genuinely excited about.
Wes was building audiences on MySpace, he had a big following (around 20,000 "friends") and was receving checks from bands all over the world who worked with him. (All he had to do on MySpace was click the "Add Friend" button 20,000 times.
Wes usually posted 10 times per day on Twitter (and possibly still does).
When you're starting out on Twitter, most of your tweets should be replies to people in your niche. Join in on the conversation.
Email is a much better platform for reaching people than on Social Media, because Social Media only shows your posts to a subset of people.
Wes likes to take the emails that he receives from followers outlining their problems, and use their wording in the copy of his content to make it more relatable.
Wes balanced client work and his own projects, but over time has been focusing more on his own projects than on client work.
Wes put in the long hours and hard work up front, early in his career, so that he could spend more time with his family later when he started one (as he now has).
Teach in person (At least at first), you get to see the live reactions of those people you are teaching (which you cannot do on an online course).
JavaScript30 was inspired by pain-points his students were facing. Wes' built up the habit of thinking of cool JavaScript projects that his studenst could make, and adding them to a folder (he built up this list of 30-50 small JavaScript projects for a year and a half), eventually he got 30 of these small projects, polished them, recorded them and released it publicly, and it got traction.
In the coming months of the JavaScript30 release, Wes made sure to hype it by emailing his email list once or twice a few months before. He also tweeted about it on his twitter. And lastly, he emailed his email list when launching it.
Wes belives in the business model of Reciprocity, giving away at least some content for free. This also helped people who were on the fence, to become familiar with his teaching style. And people who liked his style could buy his paid products, while the people who didn't, didn't have to, and that was fine.
Wes is good at listening to the pain-points of his followers, customers and students.
Advice for an aspiring entrepreneur: Start putting content out there. Start helping people. And you'll figure the rest out along the way
Really enjoyed this interview. I enjoyed it so much I broke out the 6 points about why you should start by teaching into an Indiehackers article - https://www.indiehackers.com/@joshdance/looking-to-start-a-business-6-reasons-why-you-should-begin-by-teaching-069e25d609
Courtland, I understand wanting to grow your mailing list, but forcing sign-up to be able to read instead of listening is not great.