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
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.
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.
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.
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.
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.
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.
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.
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.
[+] [-] 127|5 years ago|reply
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.
[+] [-] theonemind|5 years ago|reply
[+] [-] GuB-42|5 years ago|reply
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.
[+] [-] lowdose|5 years ago|reply
[+] [-] narwally|5 years ago|reply
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.
[+] [-] dorkwood|5 years ago|reply
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.
[+] [-] petercooper|5 years ago|reply
[+] [-] dwoot|5 years ago|reply
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.
[+] [-] searchableguy|5 years ago|reply
Ben Eater: electronics, networking, computer architecture, breadboards, and information theory.
Missing semester: Great introduction to computer science and basic programming skills. Good as a reference.
BPS.space: Aerospace engineering, rockets and stuff.
Andreas Kling: computer OS from scratch.
Numberphile, computerphile and so on for quick bites.
Edit: fixed typo
[+] [-] mattgreenrocks|5 years ago|reply
[+] [-] adem|5 years ago|reply
He comments on papers of various CS topics.
[+] [-] blisterpeanuts|5 years ago|reply
[+] [-] mg|5 years ago|reply
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.
[+] [-] Someone1234|5 years ago|reply
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.
[+] [-] Swizec|5 years ago|reply
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.
[+] [-] gonzo41|5 years ago|reply
[+] [-] raxor53|5 years ago|reply
[+] [-] robjan|5 years ago|reply
[+] [-] azangru|5 years ago|reply
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.
[+] [-] DarthGhandi|5 years ago|reply
[+] [-] wonder_er|5 years ago|reply
- early-career software developers
- familiar with ruby/rails
https://intermediateruby.com/make-oss-contributions-part-1-f...
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.
Matt (the senior rails dev) and I start coding and part 2: https://intermediateruby.com/matt-swanson-jekyll-bug-p2
[+] [-] solutionyogi|5 years ago|reply
I started to help intermediate programmer take their skills to the next level.
https://www.youtube.com/channel/UC-hYI_iMzc-wkvIqvsW2u1Q
I am currently wrapping up a series called 'Truly Understanding Linq'.
https://www.youtube.com/watch?v=hQ_2ZbyiT_Q
[+] [-] PretzelFisch|5 years ago|reply
[+] [-] dorkinspace|5 years ago|reply
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.
[+] [-] Yoofie|5 years ago|reply
What bothers me is that most other instructional videos (outside of Youtube) never have a playback speed option, especially corporate training & overview videos.
[+] [-] ducaale|5 years ago|reply
* [a parser combinator in haskell](https://www.youtube.com/watch?v=N9RUqGYuGfw)
* [stack based language compiler in ocaml](https://www.twitch.tv/videos/654258168)
You can find all the things that were done during the streams in https://github.com/tsoding. You can also find his schedule at https://tsoding.org/schedule/
[+] [-] dewey|5 years ago|reply
[+] [-] ThinkBeat|5 years ago|reply
[+] [-] sustbird|5 years ago|reply
[+] [-] semicolonandson|5 years ago|reply
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.
[+] [-] ffpip|5 years ago|reply
https://www.youtube.com/user/Computerphile/featured
[+] [-] srcreigh|5 years ago|reply
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!"
https://youtu.be/gc8mDZwUlfo
[+] [-] dwoot|5 years ago|reply
[+] [-] dontremeber|5 years ago|reply
[+] [-] asciimov|5 years ago|reply
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.
[+] [-] larntz|5 years ago|reply
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.
[+] [-] numbers|5 years ago|reply
[+] [-] foxdev|5 years ago|reply
[+] [-] wilsmex|5 years ago|reply
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
[+] [-] idrios|5 years ago|reply
[1] https://www.youtube.com/user/thenewboston
[+] [-] davidwparker|5 years ago|reply
I have over a hundred videos on WebGL, and over two hundred videos total.
https://www.youtube.com/user/iamdavidwparker
I haven't added a new video in a couple of years, but am thinking of getting back into it.
[+] [-] tacheiordache|5 years ago|reply
[+] [-] Namari|5 years ago|reply
[+] [-] csunbird|5 years ago|reply
[+] [-] tootie|5 years ago|reply
[+] [-] ficklepickle|5 years ago|reply
https://youtube.com/channel/UCS4FAVeYW_IaZqAbqhlvxlA