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.
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.
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.
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.
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.
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.
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.
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!
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?
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.
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.
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.
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.
"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.
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.
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.
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 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.
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.
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?
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.
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.
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.
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
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.
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.
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!!!
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.
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.
94 comments
[ 4.6 ms ] story [ 174 ms ] threadI 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.
If however you have 1 year of experience 10 times, then yes it’s an almost insurmountable challenge.
https://learnxinyminutes.com/
Monads are hard, though. ;)
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.
https://www.railstutorial.org/
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.)
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.
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.
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.
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!
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.
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.
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?
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.
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.
In reality you took an easy guided path. Without friction you may not have learned all that much.
If you yearn for the vast and endless sea enough that you wish to sail it, forget the wood. Become a seaman.
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.
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.
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.
"The Mental Game of Python" - https://youtu.be/UANN2Eu6ZnM
He keeps things simple and in the process you actually learn.
I tend to overload the registers when teaching and students do not learn as much.
All teachers know the feeling when students eyes glaze over, something that is so much harder to detect in the age of Zoom and Teams.
PS https://www.youtube.com/watch?v=Uwuv05aZ6ug there is a sync fixed version of the talk
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.
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.
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 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.
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.
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.
What bothers me is that most other instructional videos (outside of Youtube) never have a playback speed option, especially corporate training & overview videos.
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
Dynamic Programming for Beginners: https://www.youtube.com/playlist?list=PLVrpF4r7WIhTT1hJqZmjP...
- 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
https://www.youtube.com/watch?v=7lxgpKh_fRY
And the React tutorial on the same channel a good primer.
Not very flashy
1. interviewing.io - they do tech interviews with big5/6 tech co candidates and step through them: https://www.youtube.com/c/interviewingio/videos
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
4. comma.ai / George Hotz - ML + AI livestreams from geohot: https://www.youtube.com/c/commaaiarchive/videos
5. Lex Fridman - ML, AI, python and tons of awesome interviews with luminaries: https://www.youtube.com/c/lexfridman/videos
6. Joma Tech - data science, big companies / startups as a dev and some funny vids: https://www.youtube.com/channel/UCV0qA-eDDICsRR9rPcnG7tw
7. Wes Bos - decent css explainer vids for whenever you're _how do i align the fucking boxes_ + react / js https://www.youtube.com/user/wesbos
8. Rect conf - Sophie and Dan's presentations are great: https://www.youtube.com/channel/UCz5vTaEhvh7dOHEyd1efcaQ
9. Nickolas Means - not a channel but two presentations that are good:
9.1 How to crash a plane : https://www.youtube.com/watch?v=099cHWSbAL8
9.2 The original skunk works: https://www.youtube.com/watch?v=pL3Yzjk5R4M
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)
https://www.youtube.com/user/Computerphile/featured
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
https://youtube.com/channel/UCS4FAVeYW_IaZqAbqhlvxlA