DEV Community 👩‍💻👨‍💻

Cover image for I'm Wes Bos, Ask Me Anything!
Wes Bos
Wes Bos

Posted on

I'm Wes Bos, Ask Me Anything!

I'm Wes Bos, a full stack developer from Canada who makes some really great online courses like JavaScript30, React For Beginners, What The Flexbox?!, ES6 for Everyone and Learn Node.

I'm pretty active on twitter @wesbos and I've just started a podcast with Scott Tolinkski called Syntax

I'm pretty fortunate to have turned my love of web development and business into a career so I'd love to chat about either of those topics (or anything else really!). My AMA will start at 2PM ET today, August 9, so please feel free to Ask Me Anything!

Top comments (158)

Collapse
 
darkpsy profile image
The Spirit Molecule

Wes, I just want to tell you that you're the most phenomenal teacher out there, there's something incredibly friendly about your approach to teaching which helps even the most entry level devs to pick it up with supreme ease. Thanks for your on going contribution to the community!

Collapse
 
wesbos profile image
Wes Bos

☺️
☺️☺️
☺️☺️☺️
☺️☺️☺️☺️
☺️☺️☺️☺️☺️
☺️☺️☺️☺️☺️☺️
☺️☺️☺️☺️☺️☺️☺️ Thanks!
☺️☺️☺️☺️☺️☺️
☺️☺️☺️☺️☺️
☺️☺️☺️☺️
☺️☺️☺️
☺️☺️
☺️

Collapse
 
wesbos profile image
Wes Bos

I guess you could describe my style as "pedestrian". The big ah-ha moment for me was that I can just explain things in a way that makes sense to me.

No formal training, probably no born talent, just lots of practice? I've been doing it for 7 years now and I think I'm just starting to get decent at it :)

So tip - just start. Youtube/blog/tweet tips/whatever. Share what you know!

Collapse
 
kellyjandrews profile image
Kelly Andrews

What concepts have you found most devs tend to struggle with?

Collapse
 
wesbos profile image
Wes Bos • Edited on

By far is how values get passed into functions.

const firstName = 'Wes';

function sayHello(name) {
  console.log(`Hello ${name}`);
}

sayHello(firstName);

Why is it name and not firstName?!

Seems to simple to anyone programming for a while, but it's often a cause for confusion in my students.

References (arrays, objects) VS values (strings, numbers) is another one.

Truthy/falsy was another one but I've got pretty good at explaining that :)

Collapse
 
ben profile image
Ben Halpern

This brings me back. I remember this tripping me up early on. It lead to some behavior like always using the same name for both things just in case.

Collapse
 
willcwork profile image
Will

Beginner here, is this because whatever you put in the brackets after sayHello is what is passed, 'name' is essentially a placeholder for the value you are passing into it?

Thread Thread
 
kellyjandrews profile image
Kelly Andrews

Correct. name is the parameter scoped to that function.

Collapse
 
kellyjandrews profile image
Kelly Andrews

That's really good info. I never would have guessed that. Thanks for answering!

Collapse
 
laistomazz profile image
Laís Tomaz

Any thoughts about the #GoogleManifesto?

Collapse
 
wesbos profile image
Wes Bos

I didn't know what that was until just now - what a douche. It kills me to see people furthering stereotypes like this :(

Collapse
 
dwmiller profile image
David Miller

Have you actually read it or is that going by headlines? Serious question as I've seen conflicting opinions but haven't decided if it's worth the time.

Collapse
 
markbuskbjerg profile image
Mark Buskbjerg

What is #GoogleManifesto?

Collapse
 
pluscubed profile image
Daniel Ciao
Collapse
 
algusdark profile image
Carlos.js

I want to start a video blog about programming, but in spanish, because I want video blogs like that in my language, do you have any tips to someone that's going to do something like this for the first time?

Collapse
 
wesbos profile image
Wes Bos

Just start! You'll figure it out along the way. Create small, focused tutorials on a variety of topics and you'll quickly figure out what ones do well and the ones people want more of.

Good luck - you should start today because I know tons of Spanish speakers take my courses and would probably rather something in their native language.

Collapse
 
algusdark profile image
Carlos.js

Thanks, I'll start today, I hope that someone could found helpful my videos :)

Collapse
 
peter profile image
Peter Kim Frank • Edited on

Hey Wes, I was hoping you'd touch briefly on the #productivity side of things. One thing that immediately stands out when viewing your overall professional presence is just the sheer volume of substantial and successful projects, courses, etc., that you've undertaken.

I'm sure the shortest and truest answer is that "It's a ton of hard work," but I was wondering whether there were any eureka moments or specific insights that have helped you find such productivity and ability to execute.

Thanks for taking the time to do this AMA!

Collapse
 
wesbos profile image
Wes Bos

It's all about finishing things. I always loose steam on things right about 90% o the way through. That last 10% is the hardest, but well worth it.

Learning how to push through that has helped a lot. There are no secrets here - just having a bit to grit to double down and finish things.

Collapse
 
peter profile image
Peter Kim Frank

I can definitely see "Just finish things" becoming a personal mantra. Thanks again! 🙌🏽

Thread Thread
 
spences10 profile image
Scott Spence

Shia LaBeouf gif incoming!

Thread Thread
 
computistic profile image
Hannan Ali

Gif: Just Do It (Shia LaBeouf)

Collapse
 
cassidoo profile image
Cassidy Williams

What is your go-to equipment for everything? Microphones, laptop, IDEs, editors, etc?

Collapse
 
laistomazz profile image
Laís Tomaz
Collapse
 
wesbos profile image
Wes Bos

Ahaha - I almost always have someone /uses reply before I can.

One thing that isn't on there - I'm slowly being won over by VS Code.

Thread Thread
 
davidcoy profile image
David Coy

<3 VS Code!

 
anku profile image
Ankit Tiwari

I asked about this on Twitter but you didn't reply. Will you be comparing VS code and Sublime? What about writing a book on VS code?

Thread Thread
 
wesbos profile image
Wes Bos

Sorry I don't see everything on Twitter - they only give me so much scrollback history and sometimes I miss things!

Collapse
 
xavierartot profile image
Xavier Artot

I rather use Vim rather Sublime or VS Code.
@Wes Bos did you try Vim.
Using it make me better developer and typing is more fun.

Collapse
 
algusdark profile image
Carlos.js

How can I make an Open Source Project (bloomer.js.org) more visible for Developers to discover?

Collapse
 
wesbos profile image
Wes Bos

You can post it on my ama and now everyone will check it out!

Collapse
 
algusdark profile image
Carlos.js

That's a good start :)

Thread Thread
 
computistic profile image
Hannan Ali

Nice Components though Carlos

Collapse
 
cassidoo profile image
Cassidy Williams

I looked at Bloomer to see what it's all about! My one thing: I don't really understand what it's for unless I get digging. Something on the homepage that explains it (or better, shows it) further would be great :)

Collapse
 
algusdark profile image
Carlos.js

Thanks for your feedback :)
I'll try to figure out how to sell the idea in the first seconds so you can be excited to dig into the docs.

Thread Thread
 
spences10 profile image
Scott Spence

Yeah, this.

I don't want to sound arrogant but if it's not immediately obvious what a 'thing' does within a few seconds of me reading the README I usually lose interest and move onto something I can grok.

A gif usually does it for me

Thread Thread
 
algusdark profile image
Carlos.js

Thanks Scott, I'm going to try something cool for the next release, I really need to work on the README :)

Collapse
 
cassidoo profile image
Cassidy Williams

What's your process for planning an online course? What advice would you have for someone interested in doing that?

Collapse
 
wesbos profile image
Wes Bos

It mostly boils down to:

  1. Think of topics that need to be taught — like React or Node
  2. Make a list of all the different areas of that topic that need to be learned - templating, data fetching, caching, image resizing, authentication, file uploads, realtime
  3. Dream up an example application that is equal parts fun to build and real world enough that it would apply to your real work.
  4. Research the crap out of the topic - even if it's something I've been doing for years I always research different possible ways of building the application, best practices, gotchas. I usually do this by reading all the docs of a project, reading blog posts from industry experts and watching conference talks on YouTube.
  5. Build the thing we are going to build - I usually do this a few times and then refactor every line until I'm happy with it. I put a lot of effort into making the application easy to grok a few months later so you'll notice that I sometimes forgo dozens of small index.js files that can easily confuse and ruin a tutorial for you.
  6. Once I'm happy with what we are going to build, I have a few industry experts code review it - make sure everything is up to snuff with best practices.
  7. Then the hardest part is figuring out how to incrementally build the application in steps. Each video should be less than 20 minutes long, but we should also have something working by the end of it. Application development isn't always linear so this is something I've spent a lot of time on.
  8. once it's all broken down into sections - I have rough notes on what needs to happen in each video and then I record!

It's a lot of work - this process takes 4-5 months.

My advice would be to not worry about process too much and just start creating things - you'll figure it out pretty quickly. What I do might not work for everyone :)

Collapse
 
ben profile image
Ben Halpern

Do you work on one project for 4-5 months at a time or do you do a few things at once?

Thread Thread
 
wesbos profile image
Wes Bos

Other than tending to my own course platform, doing conf talks, and doing little code-pen type stuff, it's almost entirely one thing.

Collapse
 
laistomazz profile image
Laís Tomaz

How you know you are ready to teach something you've been studying?

Collapse
 
wesbos profile image
Wes Bos

When I've built at least 3-4 real world things in it. Most of the things I teach are lessons learned from me applying it in the field. I've been learning GraphQL for the 6 months or so, and just getting into a space where I feel comfortable enough with it that I'm starting to talk about it :)

Collapse
 
ahmadawais profile image
Ahmad Awais ⚡️

Hey, Wes!
Since I know you so well, I only have one question — it's a bit personal!

Q: — How's life as an educator? I have been meaning to quit freelancing back in the day (2010) and I did, moved to products side of things, now I have been meaning to quit products and get into teaching (I love to teach, it's genetic believe me) — but the amount of time getting spent on building one free course have scared the shit out of me (English is not my native lang but I do OK...). Now, I am afraid to embark on a journey of building a premium course that would take about six months. While I have a huge audience, what if the course I am building doesn't get enough sales? — Scary waters!

Any tips to deal with all of that?

Collapse
 
wesbos profile image
Wes Bos

I freelanced for the first 3 years of selling courses so it wasn't all that scary for me. The ship was close enough to the dock by the time I made that jump.

It is a ton of work, as is things like maintenance and support of the courses. I'm still figuring that out so I'm not sure I have an answer for you.

You should have an idea that your course will sell well - if you are going in blind I'd recommend doing some smaller stuff to test the topic's waters first. Free course, blog posts, tweet tips, podcasts, youtube vids will all show you if people are hungry for that topic.

Collapse
 
ahmadawais profile image
Ahmad Awais ⚡️

Thank you! That helps!

Collapse
 
andy profile image
Andy Zhao (he/him)

Hey Wes, excited to have you on dev.to!

What's it like teaching full time as well as doing your own development? Or more specifically, how do you manage your time doing both? Being a TA as well as keeping up my programming skills was too much for me, so I'd love to hear how you do it.

Collapse
 
wesbos profile image
Wes Bos

I'm in a pretty lucky spot where I work on my own course platform, which is where I can sharpen my skills. I never want to be the teacher that doesn't actually build real stuff

Collapse
 
crongm profile image
Carlos Garcia ★

Hi Wes. I've been a front end developer (mainly using Angular) for the best part of four years and I think it's time to broaden my skill set. What's a recommended path to follow to become a full stack developer?

Collapse
 
wesbos profile image
Wes Bos

In your case, Learn Node. You already know JavaScript, and building an application in Node will help you understand the whole server side of things.

Collapse
 
leftshotdev profile image
Pat Clarke

With the pending closing of Iron Yard, there will be a void (at least in my local area) for person-to-person instruction on Web Technologies.

As someone who has taught at a school and runs a learning platform, any ideas on how individuals can help fill the void?

Collapse
 
wesbos profile image
Wes Bos

Yeah! Some ideas:

  • Organize something small where you can help out and mentor a few students. Just meet at a coffee shop once a week and give them guidance.
  • Help out on Slack/IRC/StackOverflow - this is how I got my start
  • Look for someone who needs a mentor and just focus on them
Collapse
 
marcusnielsen profile image
Marcus Nielsen

I've tried to learn functional programming, but feel it's too hard to learn when everyone's afraid of words like monads and functors. But when reading about the concepts they feel very simple. What do you think about FP in JS for everyday work, and the future progress of FP in JS? Why do you think people are scared to learn this kind of stuff?

Collapse
 
wesbos profile image
Wes Bos

Yeah most FP stuff gets real deep real quick and lots of devs are left more confused than when they came in. It's not that people are scared, it just is often way over their heads.

unpopular opinion: If you are just learning JS, don't worry about FP or OOP - just make it work. As you get better, you'll pick up little pieces of FP and start to realize why everyone is so hyped about it.

Collapse
 
marcusnielsen profile image
Marcus Nielsen

Thanks Wes!
I hope FP community gets more spread. There's some beginner friendly content available so you don't need to get over your head when starting out.

I agree totally with your opinion. Just learn to get things done. And if we can learn to code better it doesn't matter what it's called.

16 Libraries You Should Know as a React Developer

>> Check out this classic DEV post <<