I'm Wes Bos, Ask Me Anything!

Wes Bos on August 09, 2017

I'm Wes Bos, a full stack developer from Canada who makes some really great online courses like JavaScript30, React For Beginners, What The Flexb... [Read Full]

Any thoughts about the #GoogleManifesto?

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

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.

What do you do for design inspiration?

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.

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

What are your favorite things about JavaScript not counting platform ubiquity?

What other languages do you code in and for what purposes?

Most of my favourite stuff is pretty new - Promises, Async +Await and arrow functions make everything so pleasant.

I cut my programming teeth on PHP and slung some classic ASP back maybe 10 years ago, but other than that, it's been 80% JavaScript for me.

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?

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

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

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

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 :)

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.

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

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

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?

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.

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.

What made you get into doing online courses and selling stickers

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.

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

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

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 🌟

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?

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.

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

Any interest in using/switching to a mechanical keyboard? If so, which make/model? 🤓

Im not sure - I kind of want the new macbook keyboard as an external. I should try a mech though

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

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

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

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

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.

Hi Wes, is css grid course coming up soon? Also great job on learn node :D

Yuuup :) Soon-ish

When did Canada become so darn awesome?

July 1, 1867

Hi Wes! How did you learn to design websites? Where do you get inspiration for the design/UI of your course's websites?

Two weeks from today I've detailed my origin story on the Syntax Podcast - syntax.fm

It's a long story!

The design/UI is just something I've developed over ~15 years of being a "designer"

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 🔥

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!

When you gotta get stuff done, are you a single monitor or a multiple monitors kind of guy?

Multiple! I've got a 4k Main Monitor, a 22" vertical to my left and my 15" macbook to my right.

I really enjoyed your js30 course, do you have plans for recording any more "doing courses"? For anyone else reading this,please point me towards any courses similar to js30.

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!

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.

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

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

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 :)

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.

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?

Correct. name is the parameter scoped to that function.

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

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

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 :)

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

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

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

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.

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?

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

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.

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?

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.

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!

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

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?

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

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

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

How did you become so awesome at speaking and instructing/teaching? Any formal training or just natural born talent? Any tips for n00bs such as myself who want to start sharing knowledge in a meaningful, helpful, and memorable way?

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!

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

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 :)

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

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

Hey Wes, another question, as silly as it sounds: are you a relative of CSS' co-inventor Bert Bos? XD

Yep - that's my dad!

 
 
 
 
 
 
 
 
 
 

jk! I didn't even know that

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.

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.

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.

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

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?

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.

Oh! The anxiety of having that issue open for so long!!

Thank you!

😀

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!

Which programming books do you read(if any) to sharpen your concepts?

I've read mayyybe 2 programming books in my life. It just doesn't click for me - video, blog posts, conf talks are how I learn.

What path should I follow if I want to improve my ux/design skills... what should I read or what should I learn?

Hi Kary,

I went to a meetup where UX and UI were covered. I talked to the guy afterwords and asked this same question and he told me to check out these books:

-Design of Everyday Things
-Dont Make Me Think
-UX matters
-Boxes and Arrows

Hopefully they are what you are looking for!

I don't have any advice here - maybe someone else can chime in?

Are you planning on releasing new courses?

He is learning GraphQL, So he'll probably do it. Excited about it.

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.

1) Security in NodeJS? blog, video tutorial or book to recommend?
2) How to HTTPS NodeJS for free?
3) Do you have any React/Redux boilerplate code? I want to learn more or great programmers like you do that configuration.

Thank you, I took the NodeJS course it was fantastic! I will take more courses soon!! U R gr8!

What pisses you off the most about JavaScript?

Nothing really - I'm p happy

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.

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.

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. :)

Build 1,000 things - that is the whole idea behind JavaScript.com

Serious - just keep doing it :)

Thanks Wes! Love your courses!

I haven't been around in the industry for that long, and I find it really difficult to take the time to learn new things while doing my job, so most of the time I just stick to the things I know and am comfortable with. Besides, after work I'm usually pretty beat mentally and can't find the motivation to go and learn new things, and having other hobbies certainly doesn't help.

So I guess my question is, how do you manage to separate your work life, your passion for what you do and your other hobbies in a way that you get to do all that and spend time with your family at the same time?

Where do you feel most people go wrong when they are learning a new language?

As someone that's recently started learning JavaScript there are times while working through books/tutorials that I feel like I've missed something big that I should know in order to deal with the exercise ahead of me.

Thanks

Hi Bos(s),

Quick question : what do you think about web templating engines ? I mean some templating like r ERB, Liquid, Slim, etc (I quote ruby only because I am a new in the coding world and I don't know so many other stuff yet).
Ruby or not, do you advise to use some templating for HTML ? I mean something like ERB in order to put algorithm in HTML or put some short lines not to repeat headers / footers all the time for example ? Or do you advise to use plain old HTML all the time ?

Thanks Wes

What do you think of Flow and TypeScript?

If you could add one new feature to Javascript what would it be?

What is the most efficient way you found to learn?

Take my courses :)

Haha - thats a joke but kind of not. I'm not really all that efficient - I have to go all over the web to learn something and it takes a long time. That is why I create my courses - sometimes people only have a few days to get up to speed on a topic

What do you think your next course will be and why isn't it out yet ;)?

It will be on "Advanced React" - still hashing it out so don't hold me to this but it should include GraphQL, Acceping Credit Cards, Inline Styles, testing and serverless

I have no idea how long it will take - at least 2-3 more months

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?

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.

What is your favourite gradient set? Haha. Seriously, which one? This is my fav ux question.. (Thx for everything. Regards from Hungary.)

Haha I don't know what a gradient set is :| :| :|

Hello Wes - and thanks for the stickers!

What are you most excited about regarding the future of web development? What are you eager to study and experiment on next, or soon?

CSS Grid! 💣💣💣💣

What is your favorite BBQ recipe?

Btw big fan of Syntax and Learn Node, thanks for making developing even more fun!

Smoked Wings are probably my favourite. Just dry rub and smoke ☺️

Thanks for your support!

Hey Wes -

How great is Operator Mono for coding and why is it the best coding font ever created?

Unbiasedly -

--Jimmy

edit:

P.S. How can I get my hands on a Seinfeld.js sticker?

(joking aside - I admire your work Wes. Thanks for doing an AmA!)

Operator Mono is the greatest coding font ever. I took a lot of shit for it in the early days but luckily other hipsters followed suit.

Seinfeld stickers are out of print! Maybe never? Maybe if you meet me in person I'll give you one of the few I have left.

Hi Wes, did you ever worked with Vue.js or plan to do? Maybe a course?

Not a whole lot- just a few smaller things. It seems much easier to get started with than React. Maybe a course one day :)

I'm really curious on how you handle authorization or access control. Or rather how you would handle it. You mention it super briefly in the Node.JS course. Wondering your thoughts.

Good to see you here. Will you ever consider doing an Angular 4 course?

Can you do a course on SSR with React - There isn't much quality content on it

how to improving my web desiging abilities (I know how to write html ,css,js)but have absolute no idea how to choose the (matching colors/fonts/suitable spaces) thanks in advance

Hey Wes, what do you think about RxJS? Have you used it already? Is it worth, diving in?

Any reference for a newbie who wants to take a deep dive in javascript??

What don't you like about React?

What does "Full Stack Developer" mean?

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?

Do you think that a Blog is so important for a developer career?

Hi Wes, how much you focus on soft skills and what resources you use ex :podcasts, youtube channels, blogs ? can you recommend some ? Thank's

code of conduct - report abuse