I think a lot of educational Youtube channels aren't that great in actually teaching you anything. What they are great at is sparking the interest and planting the seed for your own work. At least my experience is that actually doing things is how I learn them. Youtube can be a great springboard for that.
Things to look out for: a person you like and who has enthusiasm and knowledge.
For example EEVBlog Youtube channel was a great way to get into electronics. It's very surface level, and you have to do the learning yourself, but the surface level of what you get is a broad overview which you can choose how to deepen and iterate on. Get that surface level from Youtube, so that you can understand the whole picture, then go through the parts yourself.
"If you want to build a ship, don’t drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea." - Antoine de Saint—Exupery
Corollary lesson: when you find yourself driven by a yearning for some overarching majestic goal to overcome great challenges at great cost, remember that working hard on something doesn't mean you'll ever get to use that thing. Those woodcutters, metalworkers, shipwrights, artisans, etc. who poured their hearts and souls into building that ship will very likely not sail the vast and endless sea that motivated their labor.
If you yearn for the vast and endless sea enough that you wish to sail it, forget the wood. Become a seaman.
That's one of the awesome things about software. You can have a grand idea for something, actually spew it out into reality, and then actually use it and see lots of other people use it, often for very little cost on your part besides some time and effort. I'm sure many people of long past would be like "shit, you all are so lucky" if they saw what we could do, and I think there's a pretty good chance we'd say the same of our distant future descendants (barring all the standard hypothetical catastrophe caveats).
It's almost like magic, except limited by what software can actually affect. You can't compile "ship.rs" into an actual ship. But in 100 years I think more of the borders between software and hardware/meatware will start to blur.
I feel like many product managers and senior leaders I know take this advice to heart, and too literally. It's great to yearn for the sea, but if you actually want to sail, you'll need a boat, and that boat had better be built by competent organized professionals paying attention to what they're doing rather than a bunch of folks sitting around talking about the endless sea.
I think that YouTube is great for culture. It includes programming culture. Basically telling you that things exist.
However if you really want to do something, you need practice, and YouTube is not ideal for that.
For programming, what you need is a computer, a development environment (preferably something well integrated if you are beginning) and a project (if you are a beginner, the simpler the better). Text documentation you can refer to at any time is I think the best. Paper books vs online articles and manuals is debatable but they are all better than video for practicing.
For programming, yes, especially if you're a beginner. But for more conceptual aspects of software engineering and system design, or tutorials on new technologies, videos can sometimes be useful.
Here's a good recent one by Raymond Hettinger on making things easier for yourself when programming, such as ways of reducing how many things you'll need to keep in working memory at once. It actually does directly involve a lot of pure code so it's maybe not the best example of what I described, but it's mostly focused on cognition and is generalizable to programming in any language, or possibly doing any kind of demanding mental work in any field.
I think certain hands on skills are an exception to this. I can't imagine Bob Ross teaching me to paint through a manual. But programming is such a text based activity, so youtube is great at the what and the why, but text is still the best for the how.
This but it is in general better to pay for a course at Udemy. You get your money back when you haven't learned anything and those teachers are paid by people like you. They have skin in the game. Youtubers get paid by the minute so they are maximizing your eyeball time.
Yeah, even though the platform has some questionable practices the overall content and the depth of the courses, especially the top ones are well worth the money (since the course will be on sale for 80-90% all the time )
You are being sold in a different way. A successful course is one where you haven't requested a refund. The courses are designed to create little friction and in the end leaving you with a feeling that you now know 'x' and you are a 'x' programmer now.
In reality you took an easy guided path. Without friction you may not have learned all that much.
This has been my experience as well. In that introductory period when you're first dipping your toes into a new topic I think youtube videos are great at getting you introduced to the vocabulary you're going to need to pick up. Sometimes a new topic can seem much more complex than it really is because there's a lot of unfamiliar terms being used and not because of the actual complexity of topic. Youtube is a pretty gentle way of getting familiar with the lingo so that you have an understanding of what exactly it is you don't know, and what to search to figure it out on your own.
There are some videos that are useful on an even higher level because they cause you to question your way of thinking on a subject. Rich Hickey's talks were like this for me and I think the video format really was the best for that. Some people are just really talented orators and things wouldn't translate as well to text only.
The thing that makes YouTube a bit crap for learning is that content creators are incentivized to make their videos longer than they need to be, so something that should take less than a minute to explain now takes 10 minutes.
I stumbled across a good example of this today while trying to figure out how to undo a camera move in Cinema4D, a software package I don't usually use. Now, the answer to this question is "ctrl+shift+z". But if I search the question on Google, the first result is a 3 minute YouTube video titled "Cinema 4D Quick Tip: How To Undo Camera Move In Cinema 4D", where the first mention of the shortcut is 2 minutes into the video. At this point, both YouTube and Google are purposefully surfacing the least helpful links in order to increase engagement.
The same with podcasts. Even if I listen to some reasonably dry technical podcasts I always find I'm brimming with ideas afterwards having been inspired by some random comment made by the host or the interviewee. Do I ever remember much of the actual content? Not really.
Like someone else had mentioned, the list is comprised of channels geared heavily at web development featuring content for early career developers.
There are a ton of channels that dig deeper in more general software and particulars:
1. Algorithms Live! for those that are into competitive programming
2. PapersWeLove for those that are into white papers and the research that underpins some of the systems that we use today
3. 3Blue1Brown for mathematics
4. ThePrimeagen for Vim and other software things
5. Gaurav Sen for digestible chunks of system design components
6. code_report for just programming. The author is going through Structure and Interpretation of Computer Programs (SICP) at the moment
7. commaaai archive for following George Hotz, founder and creator of comma.ai, a self-driving car company. He was a former Googler working on zero days (security)
8. Jon Gjengset for Rust. He's got a lot of great videos as an open-source contributor in Rust projects and was most recently at MIT doing his PhD
9. Bitwise is a bit old (last post was a year ago), but former Oculus lead dev teaching folks about compilers, simulators, FPGA-based hardware, and other low level topics from a practitioner
10. Two Minute Papers for quick high level hits/overviews of whitepapers
11. Engineer Man for great short introductions into various parts of the stack, scripting, Unix, and other abstractions
There are many more and recorded streams from other programmers teaching random things. There are tons of engineers on Twitch representing a multitude of companies like Lyft, CockroachDB, Netflix, and others working on open-source projects.
As a more experienced developer, I much prefer these channels over the ones listed, but my point is that the content is there when people actually search. The YouTube algos may not pick up all of them immediately and is most certainly more dominated by content directed at less experienced devs, but I much prefer some of this to the course recommendations that others are stating. Courses are really good, once you're convinced you want to do a deep dive into something, but most people do not finish MOOCs.
Thanks for this. As is often the case, webdev seemingly seems to suck the air out of the room at times in discussions of programming, and there are a lot of other super interesting domains out there.
dwoot's posting (and replies) seems much more useful than the article, which simply lists a whole bunch of links with no description or commentary. A curated list is, to my mind, much better than a simple search result that anyone can come up with.
I clicked on a few and they all turned out to be tutorials for beginners.
I would use it if it had a filter for "How long have you been programming:"
[ ] Never
[ ] 1 Year
[ ] 3 Years
[ ] Over 10 years
Then I would tick the "Over 10 years" option and hope to find channels that update me on the latest developments. While somebody else would select the "Never" option and will find beginner tutorials.
This is also a problem with paid educational content e.g. Pluralsight.
You want 101 tier material? They have it in droves, for every language/framework/concept.
You want high level system design/architecture? Team management training? Project scheduling/estimation? Or other software engineering topics: Good luck with that.
I mean, I get it, you're selling shovels to gold miners. But at some scale, it must make sense to target smaller niches.
If it can be put into a book, it can be put into a presentation. "More efficient" is in the eye of the beholder, different people learn in different ways (see Audio Book Vs. Book Vs. eBook for another example, an Audio Book is less "efficient" too).
Personal training/mentoring isn't really even in this sphere in terms of cost/opportunity/availability. If it is free & high quality at work, great, but then you wouldn't care what YT/Pluralsight/et al has to offer.
> If it can be put into a book, it can be put into a presentation.
Would it be fair to say that there're actually a lot of videos on such more advanced topics, but they typically are recordings of talks from various conferences?
As an online educator, this is the nut I’m trying to crack. Beginner stuff doesn’t interest me and advanced stuff is often so specialized you can’t really teach it. And selling to intermediate engineers is crazy hard it turns out.
Everyone thinks they can figure it out on their own and doesn’t want to be taught. Or works in areas so specialized only their teammates can help.
And you’re always fighting against a sea of $10 Udemy courses and free resources.
That said, I think it’s a crackable nut. It’s just a longer slog than beginner stuff.
I very much want to be taught and can afford to pay a reasonable amount of money, provided my time is used efficiently. I’m not rich, but I’ve got a lot more money than time to invest.
I’m getting my money’s worth if you efficiently teach me (the critical elements of) a topic for $250 in 5 hours. The market seems to prefer to pay $11 for 25-40 hours of content. (And I admit to having bought hundreds of dollars of Udemy courses that I’ve never even watched, so in some way I’ve contributed to the problem. Rather than bookmark a course, I’ll often just buy it.)
Yep you’re the sweet spot for me. Exactly what I target :)
The part that makes me sad are complainers who buy a $200 course then ask for a refund because they blazed through it in an afternoon and feel like $200 should be at least 3 weeks of content.
How many hours of video are in such a course of yours?
Since I sell a subscription service, I've mostly studied others doing the same, but I've bought a few courses from very successful creators. Adam Wathan, for example, sells a 4 hour course for $150 a 22 hour course for $250. He's later said in interviews that he regretted making it such a giant course.
If I were to sell a one-off course, it would probably be at least somewhat grounded by those values since it's what the market has already set.
It’s 5 to 6 hours with another few hours of bonus material. The main thing I’m changing going forward is course structure so it becomes more like a self-paced workshop.
And to be honest it hasn’t been that bad, my main course has made $160k over its various iterations the past 5 years. The bigger thing is that I’m realizing the how-to style tactics course that is so popular these days doesn’t deliver what I truly want to teach.
Yeah that pricing / amount sounds in the normal range... I guess there's always some percentage of people like that.
My business is newer and smaller, but I've still encountered a couple of really aggressive emails. I suspect that it would be more if I were selling a one-off course instead of a feed, too!
Check out Hartl’s rails tutorial for an outline on how to monetize project-based content. His stuff is oriented towards beginners, but I could imagine a more intermediate or even advanced type of course working well.
But if you've been programming for over ten years doesn't looking at say, javascript. make you feel like you've been programming for never.
I totally understand that it's all been done. And you've probably done it all as well. But things really do move fast out there. Even if it's in silly circles.
After programming for 10 years, nothing really makes you feel you haven't programmed before. I have found that even looking into entirely different programming paradigms, beginner material does not resonate with me, essentially what i would want when approaching something entirely new would be X for Y programmers.
This isn't exactly what you're looking for, but it has brief cheat sheet type treatments for many languages. It assumes you know the common programming language features, but want to know how they're done in a particular language.
Not particularly. JavaScript still runs on computers, and the broad concepts are transferrable. Like, I don't need to know how loops work, but an intro video will probably talk about that. Or even something more complicated like promises. If you've done concurrent programming before, you won't be surprised. After a certain point, truly, all that's old is new again. All that changes is the syntax.
No. If you really understand what you’re doing, which after 10 years you should, picking up a new framework or library is quick. You might not be writing the most idiomatic code after 3 days, but you’ll do fine.
If however you have 1 year of experience 10 times, then yes it’s an almost insurmountable challenge.
That was my initial thought as well, but then I realised that some resources wouldn't fit into this simple categorizaiton.
Take the Google Chrome Developers channel as an example. Most of the content creators there are fantastic, experienced, and smart developers. But then, they may discuss some fundamental issues such as browser apis or web components that are equally valuable both for novices and for experienced developers. I remember one video by the http203 crew about for-loops. I mean, for-loops! who doesn't know those! And yet, that video, as it progressed, got into deeper and deeper crannies of for-loops that I had never considered. I may not remember much from the video, but I do remember that I was very pleasantly surprised when watching it.
I don't know whether there are many other resources like that in that list.
I'm working on resources to help early-career software developers feel like they're no longer early-career developers.
"pair with seniors" is the go-to recommendation for learning, so I paid a senior rails dev to pair with me on an OSS contribution (we fixed a bug in Jekyll)
I recorded the whole process, end-to-end. It's about 90 minutes of video.
Neither of us had prior knowledge of the application.
There's a lot of good stuff in it, but I'm still working on how to best show the "path" someone should take through it.
I plan on adding "obstacle courses" for certain skills that are amenable to that kind of approach.
If this is of interest to any of you, I'd love for you to click over and follow along.
Do people find success learning from video? As a class lecture along with a pros I find it ok but not as well as a book. I am not sure if I am old or an outliner. Most youtube/videos lessons seem to move to fast and gloss over details.
I'm the same way. Videos either move too fast or too slow and generally both at the same time. That and I hate having to pause a video to view the code.
I've asked this question in other programming forums and always get a mixed response. For some people, videos are the only way to learn. For others, text is the only way to learn. And then there are many in between that choose the form of learning based on the topic.
Youtube videos are nice since you can change the playback speed. Tutorials on other platforms might not have that.
Also, for me, I could control Youtube with the play/pause button on my keyboard even when it's not the active window. J,K,L shortcuts are useful when Youtube is the active window for skip, pause, and forward.
Interesting, I find most videos and the pace of content too slow. If the playback speed setting was not available, Youtube would be borderline painful to use as a learning platform.
What bothers me is that most other instructional videos (outside of Youtube) never have a playback speed option, especially corporate training & overview videos.
I have recently discovered [tsoding twitch channel](https://www.twitch.tv/tsoding/) which describes itself as Recreational programming. The topics range from webassembly and Game development to functional programming in haskell and ocaml. Some of the interesting random things I found there include:
If you're an experienced programmer whose interests lean towards more timeless technologies (unix, system design, vim, databases, uptime etc.) and/or have an entrepreneurial bent and want to learn how software businesses are run (complete with the marketing side), my channel Semicolon&Sons might be for you: https://www.youtube.com/channel/UC17mJJnvzAa_e9qQqLIfIeQ
The overall idea is to teach via setting the screencasts in live production code used by a real business for over a decade, rather than via toy examples set in the fad framework of the now. Basically it's a behind-the-scenes tour of a production codebase.
I really love Ben Awad on YouTube. Really funny smart guy. The content is always basic but it goes deep.
One video is about best practices. He mentions that some people use best practices because they are scared their code will be bad if they don't. To which he responds: "The first law of programming is that in order to write good code, first you must write bad code. You need to stop skipping steps!"
Good maxims, but I find that Ben's videos lack depth -- don't get me wrong, but you're just not gonna get the expert domain knowledge in any particular area watching his videos. It's also primarily for those with less experience. I still watch them as they're entertaining from time to time.
quick poll: do the people of HN prefer resources like this in video format or written formats like blogs or actual docs? i’ve personally found it difficult to self-learn from YouTube videos so if you prefer that, what about it do you like?
For me I'd rather have a good speaker talk and walk through the subject matter than read about. As I can process audio faster than text.
The other side to this is that blog posts are full of people that don't write well or who are optimizing for search engines. An extreme version of this is cooking recipe posts, but I've seen tech articles that are moving this direction.
I personal prefer reading docs/books/blogs in that order.
I also occasionally watch some live programming videos casually when I'm not focusing on anything and I've learned some things that way. For example, if they do something differently than I would have it's cool to see how it works and why they choose to do it that way.
If I'm just interested in something, Youtube/video formats are great. If I am an intermediate/advance user of a technology, I want docs and API references that I can search around on from time to time when using the technology.
Check out my css grid video. It’s the best you’ll find!
Agree with many comments that most channels are geared towards beginnerS (mine included), as when folks get more advanced they tend to then use stackoverflow/blogs to find solutions to very specific problems
This list needs thenewboston [1]. I got into programming by learning Android development, and learned entirely by watching his channel. He has hundreds of tutorial videos on everything from Adobe suite products to Angular to PyGame and he's incredibly thorough on each one.
The most concise web learning channel I found on the internet is made by an Indian guy and his videos are absolutely amazingly built. The content might not interest you but the format is fantastic. They are in small chunks and there's a slide review a the end. I wish more content makers took up to this guy. Take this angular for beginners course: https://www.youtube.com/watch?v=CusfUmB6mkY&list=PL6n9fhu94y...
I'll tell what my big blank spot is that I've never found a good tutorial for is how to break down a design file into a working page. I do mostly backend and architecture kinda work, but frontend/mobile UI dev has gotten more and more important. I understand the tech and can write code that functions, but when I look at a Sketch or Figma design, I just have no idea what to do with it.
I think like anything else it comes with practise and some familiarity with the UI framework of the platform you're building for. You could try looking at something like dribbble and reimplementing some small widget or bit of UI in your platform. On mobile I've found things to become a little bit easier as the types of layouts are more restricted and designers tend to make use of the platform's stock UI elements more.
Context Free is my favourite YouTube channel right now. Most recently, he did an interview with the creator of Zig. He often contrasts multiple languages in his videos, which I find very interesting. Can't recommend context free enough.
Thank you for this, I will look at many.
My issue with things aimed at beginners is the person teaching often doesn't remember what it was like to be a beginner. They often skip over the most basic things to know.
2. CS Dojo - ex-googler who steps through CS topics (data structures, algorithms) at the intermediate level and applications in python + javascript: https://www.youtube.com/c/CSDojo/videos
3. Academind - Heard of tech x and have no idea what it is? Chances are there is a 20-30 min video on this channel explaining it clearly. He also does longer form "build x app" videos: https://www.youtube.com/channel/UCSJbGtTlrDami-tDGPUV9-w
There are tons of shitty tutorial videos and channels to avoid if you just rely on search (the comments are full of what appear to be dev contractors out of their depth begging for solutions)
so happy to see WebDev Simplified on the list and #2 to boot!!! that dude makes things so easy to understand. if you have not watched his videos on flexbox and cssgrid, you are doing yourself a disservice. easily the most clear and simplest explanations i have found. keep up the good work kyle!!!
good videos! im so reluctant to watch this topic on youtube because so many people are trying to sound smart / hip, but you are perfectly focused on the actual subject. thanks!
It is just a list without any more info or context. Do people find these things useful? I get the impression it's just a lot of bitching on how important soft skills are without any good technical content. "Go for func" is the only one I got something out of when I started developing Go.
Things to look out for: a person you like and who has enthusiasm and knowledge.
For example EEVBlog Youtube channel was a great way to get into electronics. It's very surface level, and you have to do the learning yourself, but the surface level of what you get is a broad overview which you can choose how to deepen and iterate on. Get that surface level from Youtube, so that you can understand the whole picture, then go through the parts yourself.
For just learning web efficiently, things like https://fullstackopen.com/en/ seem a lot better.