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

I'm Wes Bos, Ask Me Anything!

wesbos profile image Wes Bos ・1 min read

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!

Discussion

pic
Editor guide
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 Ask Me Anything

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

Collapse
wesbos profile image
Wes Bos Ask Me Anything

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
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 Ask Me Anything

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 Ask Me Anything

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
kellyjandrews profile image
Kelly Andrews

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

Collapse
wesbos profile image
Wes Bos Ask Me Anything

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 Ask Me Anything

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
Collapse
cassidoo profile image
Cassidy Williams

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

Collapse
laistomazz profile image
Collapse
wesbos profile image
Wes Bos Ask Me Anything

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 Ask Me Anything

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
peter profile image
Peter Kim Frank

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 Ask Me Anything

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
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 Ask Me Anything

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
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 Ask Me Anything

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
patclarke27 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 Ask Me Anything

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 Ask Me Anything

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.

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 Ask Me Anything

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
mrahmadawais 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 Ask Me Anything

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
mrahmadawais 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 Ask Me Anything

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
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 Ask Me Anything

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
james profile image
James Loveridge

Wes,

I absolutely love your courses (particularly with the option to have captioning), I have about 3 of them and I'm still going back to them when I find that I might have forgotten a specific detail.

Ever thought about doing a course on TDD? I have found there's not a lot of tutorials or material that covers test driven development (especially with JavaScript). Would this be a possible one to undertake?

Collapse
wesbos profile image
Wes Bos Ask Me Anything

Yes - this is really high on my list. Something on testing will come out soon

Collapse
james profile image
James Loveridge

Awesome, I look forward to seeing what you come up with this :D

Thread Thread
marclittlemore profile image
Marc Littlemore

Hi James,

Randomly, I'm just writing a course on JavaScript testing right now. I'll have a 7-day FREE mini-course on JavaScript testing coming out before the end of August. If you fancy getting involved then you can sign up here

Shout if you need any help.

Thanks,
Marc

Collapse
jess profile image
Jess Lee (she/her)

What came first -- speaking or training? What advice would you have for someone trying to gain initial traction as an online educator?

Collapse
wesbos profile image
Wes Bos Ask Me Anything

They both came around the same time - I can't even remember.

Teaching came from doing weekend workshops with Ladies Learning Code.

Speaking came from someone seeing my youtube videos.

Absolutely everything came from me blogging and YouTubing about cool things I learned about. Share what you know - it's good for your career 🌟

Collapse
jordansayner profile image
Jordan Sayner

What made you get into doing online courses and selling stickers

Collapse
wesbos profile image
Wes Bos Ask Me Anything

After some successful blog posts, I had a few publishers ask me to write a book on Sublime Text. I'm pretty business savvy so I quickly realized it was a terrible deal where they pay you peanuts.

So - I decided to write the thing myself. I will detail this more on my Syntax.fm podcast in 2 weeks - it's already recorded.

stickers? - the stickers are a bit of labour of love - I don't make much (it used to be a loss until I figured a few things out!) from them but I do it because it's really fun to make something real and it give me a chance to connect with the people who take my courses.

Collapse
jordansayner profile image
Jordan Sayner

Ah cool. I'll keep an eye out for the podcast. Love syntax.fm podcasts.

As for the stickers. Glad you figured out a way to make money from them. They look lovely on my laptop

Collapse
triplejdev profile image
Rhymes Toasterface

Hi Wes. You've said you do a lot of reading of docs when you prepare. I always find reading docs like running through quicksand. I end up skim-reading and not taking anything in. Any tips about going through docs when learning new things? Thanks.

Collapse
wesbos profile image
Wes Bos Ask Me Anything

Some docs are really good and others are brutal to go through. I go through them because I'm teaching it - so I kind of do it so you only need the docs for reference.

What I find more helpful is looking at either examples for the project on github, or the test suite from that project.

Collapse
triplejdev profile image
Rhymes Toasterface

Thanks for your reply.
I've only been programming properly for a year and about 6 months into my first commercial role - a lot of learning is "on the go". But looking at tests is a good tip. Thanks. :)

Collapse
gd_abraham profile image
Abraham

How can I measure the self-study level and know how much I really learned, and to know if I'm ready to share/teach that knowledge, and stablish this method as a real opportunity to improve the work that I do with my mates on our small development adventures?, also do you have any tip to improve the ‘creative’ process in to development process and specially to take an usable advantage of training courses?. :D

Collapse
wesbos profile image
Wes Bos Ask Me Anything

Hmmm I don't know - I usually just jump in before I'm totally ready and you'll learn along the way :)

Collapse
liveorgandonor profile image
liveorgandonor

When it comes to learning development online, I’ve found that even with the best material I will often miss being able to ask questions to an instructor or expert to really understand the material and how to apply it. Any thoughts on solutions for this need or how it might be met in other ways? Thanks!

Collapse
ck9891 profile image
Cam Farquharson

What do you do for design inspiration?

Collapse
wesbos profile image
Wes Bos Ask Me Anything

Most of it comes from CD art from bands I grew up with.

Look at Syntax.fm and then google "Boys night out train wreck".

I do often go to Dribbble to get ideas for how to lay out complex interfaces like form elements or pricing grids.

Collapse
lloople profile image
David Llop

From where you take inspiration to the "never stop learning" brain sticker? I really love that sentence

Collapse
emmyyusufu profile image
Emmanuel Yusufu

Hey Wes, thank you for your time. I'm a year old developer, I want to freelance even as I learn the MERN stack. I found that Wordpress development is the best thing to do, how deep do I need to learn Wordpress, or what ways could I use it as a freelancer? Thanks 🔥

Collapse
wesbos profile image
Wes Bos Ask Me Anything

The nice thing about wordpress is you can go as deep as you feel comfortable going, and learn a lot along the way.

I'd say learnt to build a theme, and how custom fields work. From there you will be able to start picking up some client work while you learn. Good luck!

Collapse
cglezar profile image
Cesar Glez Argandar

What do you think about frameworks? and in your opinion which one would be the one to focus for the future?

Collapse
wesbos profile image
Wes Bos Ask Me Anything

They are great - I can't imagine building anything remotely complex without one - I'm just not that good of a developer.

Pick any one and focus on it - even though I have a course on React and I love it, I'm very apathetic about which one is best.

Collapse
eaglerockdude profile image
ken mcfadden

I am picking up NodeJS(I have your course!) as an avenue to practice javascript more. Off and on I hear bad things about it, even that one of the superstars got fed up with it and went to GO.

The complaints mostly have to do with mysterious bugs. And also how many developers you need.

And it does see to me there are other programming platforms available to handle the "scale" question..for example elixir or GO.

And then I hear how great it is. What is your opinion of the truth. Is there a big flaw in node?

blog.risingstack.com/survey-node-j...

Collapse
tamrrat profile image
Tamrat

Hey Wes! I've learned so much from your videos and you are a badass at teaching and explaining things in simple terms.

My question is what do you currently suck at and would like to be a badass at?

Collapse
wesbos profile image
Wes Bos Ask Me Anything

Haha good question.

Right now it's fermentation and curing meat which I'm currently learning all about.

In tech - SVG and vector graphics have always been a weak spot of mine.

Collapse
iuliaiacoban profile image
iuliaiacoban

How come that this website dev.to is loaded so fast?
It is a tiny site (267KB) with SVGs which is hosted behind cloudflare but are there other ways to improve the performance of a website?

PS: I like the way you teach. Your Javascript30 course made me understand and love more Javascript and I thank you for that.

Collapse
andy profile image
Andy Zhao (he/him)

This is probably a question more for @ben than @wesbos since Ben's the master mind behind dev.to.

He's written a great post about how dev.to is insanely fast.

Collapse
jaredmeakin profile image
Jared Meakin

Hey Wes!

My question is around your screen casting setup. Not sure if you've already done a rundown on your setup, but your videos are top notch.

  • What hardware/software are you using to capture audio and video?
  • What are you using for encoding, and what settings to optimize for viewing/DLing?
  • Who hosts the videos, and what's your experience been with them?

P.S. finished your JS30, What The Flux, and half way through ES6. I have to say the cadence of your ES6 series is awesome. Easier to digest, and feel like I'm getting a lot more accomplished.

Collapse
wilsonuponsea profile image
Jason Wilson 🇨🇭

Don't know if we're still going, but, as I'm of the opinion that coding expertise is at least one part collecting and identifying bugs, what was the oddest/most annoying/most stealthy bug you dealt with?

Collapse
wilsonuponsea profile image
Jason Wilson 🇨🇭

What came first, the confidence that you had the expertise to teach something or your first lesson?

Collapse
wesbos profile image
Wes Bos Ask Me Anything

def the first lesson - I still feel like an imposter sometimes teaching topics. Like I don't even have my JavaScript license

Collapse
wilsonuponsea profile image
Jason Wilson 🇨🇭

Good to know, starting in on mentoring and definitely feeling the imposter syndrome.