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...
For further actions, you may consider blocking this person and/or reporting abuse
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!
☺️☺️☺️☺️☺️☺️
☺️☺️☺️☺️☺️
☺️☺️☺️☺️
☺️☺️☺️
☺️☺️
☺️
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!
What concepts have you found most devs tend to struggle with?
By far is how values get passed into functions.
Why is it
name
and notfirstName
?!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 is your go-to equipment for everything? Microphones, laptop, IDEs, editors, etc?
wesbos.com/uses/ :)
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.
<3 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.
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 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 is #GoogleManifesto?
diversitymemo.com/
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! 🙌🏽
Shia LaBeouf gif incoming!
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 :)
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:
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.
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:
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.
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.
Thank you! That helps!
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
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!
That's a good start :)
Nice Components though Carlos
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 :)
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
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
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. :)
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 :)
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 🌟
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 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!
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.
Hi @wesbos, I'm a late starter in your JavaScript30 game.
I was typing up the contents of my 02 - JS and CSS Clock index.html file, from your video, and I made the mistake of putting font-size: 100px; into the html {...} block, instead of your 10px.
It took a while before I understood why my clock face was an enormous vertical ellipse ... because further on we have .clock { width: 30rem; height: 30rem; ... }.
So, is this a pattern to follow, or a trap to avoid?
Something to remember, anyway
Cheers
@rudifa
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?
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.
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
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.
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.
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?
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.
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...
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
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!
Hey Wes! When deciding on a topic to teach, how comfortable do you feel with it before diving in? What is the split between "I'm already knowledgeable and ready to teach" and "this is an important thing to teach which I don't fully grasp, so I'll learn as I go"?
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.
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.
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.
Big Big Big fan sir
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.
best way to level up?
Build 1,000 things - that is the whole idea behind JavaScript.com
Serious - just keep doing it :)
Thanks Wes! Love your courses!
Could you answer the ama question from GitHub?
Tell me about the Bos family name
doone!
Oh! The anxiety of having that issue open for so long!!
Thank you!
😀
Hey Wes! Love your tutorials and podcasts. You clearly have a ton of web dev experience. Given your experience, do you mind if I ask you how much you get paid roughly when working in the industry? I'm definitely passionate about front end web dev, but since I'm sort of starting out (about to graduate with a B.S. in Computer Science), I want to have an idea about how much others are getting paid, so that I know if I'm ever being undervalued. I'll definitely admit that salaries are always a touchy subject and it's not always accurate or helpful to draw comparisons between other developers, but I've never heard actual web developers in the industry speak on this topic.
Any insights would be extremely appreciated! Thanks in advance!
Hi Wes, is css grid course coming up soon? Also great job on learn node :D
Yuuup :) Soon-ish
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.
When did Canada become so darn awesome?
July 1, 1867
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.
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?
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.
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
Oh, you! 😂
What pisses you off the most about JavaScript?
Nothing really - I'm p happy
Hey Wes, any advice about books of coding/Javascript? I am more a practical person, need to see and need to do how it's done. That is one of the many reasons your tutorials/podcasts/ courses are so helpful but I would like to give some time to read a book but not sure where to start. I give a try to "You don't know Js and Eloquent Javascript" right in the beginning but maybe was too soon.. Should I give it another go now or you have any book that would be a good point to start? Thanks
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"
Are you planning on releasing new courses?
He is learning GraphQL, So he'll probably do it. Excited about it.
What do you think of Flow and TypeScript?
If you could add one new feature to Javascript what would it be?
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
Any reference for a newbie who wants to take a deep dive in javascript??
Do you think that a Blog is so important for a developer career?
Hey Wes, what do you think about RxJS? Have you used it already? Is it worth, diving in?
Can you do a course on SSR with React - There isn't much quality content on it
Im not sure - I kind of want the new macbook keyboard as an external. I should try a mech though
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 does "Full Stack Developer" mean?
Good to see you here. Will you ever consider doing an Angular 4 course?
What don't you like about React?
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
I really like your style, your videos are always a pleasure to watch. Thank you for what you have given us so far.
It would be great if you could make a Vue.js series one day :)
+1
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! 💣💣💣💣
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 :)
What are you working on ?
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!
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
Wes, I just want to tell you that thank you for everything you've taught me. Okay, now the question. What ES6 + feature do you like the most?
Hello wes, I'm really curious to know when you get the full-stack course of react and graphql
Thank you very much.
Haha I don't know what a gradient set is :| :| :|