I disagree with the reading part, as that's a major component of learning.
Programming only clicked for me when I had a goal in mind and started reading documentation: change the color of the button when I click it. How to do something on click? How to change the color of an element? Etc. From there my goals became bigger and reading documentation and examples along the way got me to where I am today.
Video is the true deception. I was trying to design patterns for sewing recently, and as a novice I watched a few videos. And none of them ever stuck with me on how to design something myself. It was only when I read a book about pattern design that the concepts stuck. I think the friction of reading, parsing the info, and then acting on it is what allows learning to happen.
My point is reading does not provide substantial value, it provides barely any because you have to net out the opportunity cost of time spent reading. The gains are realised when you think and do something with the information consumed.
Therefore reading and watching are not the key to success.
Perhaps we're considering reading with different perspectives. Reading a novel? Yeah sure. Reading documentation just to read it? Sure.
But it's essentially impossible to learn without information about a subject.
How do you suppose someone learn programming without reading documentation? Without reading code examples? This is active reading compared to passive reading, such as reading a novel.
It fills your brain with procedure. For a short time.
If you solidify the procedure, you will be able to perform that one task. What on software development is still useless.
Only at the next step, where you know so much that you can think of your own new procedures that you have basic competence at software development. There are other professions like this, but for most, basic competence happens before you even solidify the procedures.
If you understand the difference between greedy algorithms and non-greedy, you also understand the difference between learning by doing and building a solid foundation before tackling a problem.
For most simple problems, it's true that the taking the seemingly shortest path to solving the problem is good enough. There are other problems where you simply have to understand the abstractions at a deeper level than you can visualize in code. It's there that things like reading a textbook or taking a course can help.
I mean: if you're learning a new language/library/framework it's really useful to have a broad idea of what the tooling for it looks like.. what features does it offer? You can look up the details when you need to
It's really useful to have a broad knowledge of algorithms and what problems they're applicable to. Look up the details later
If you're going into a new domain.. know the broad, high level pieces of it. You don't need to pre-learn the specifics of websockets but if you don't even know they exist or what they're useful for in web development.. that's kind of a problem
Even more abstract concepts like how to design code there's a lot of good info out there
If every generation had to re-invent the wheel from scratch we'd never get anywhere. The problem people have is they think ONLY reading is enough
> Reading and watching fills your brain [with dopamine] with whats possible
FTFY. Then you have to do it yourself, and none of that instant gratification comes. Tutorials are junk food that appear useful. Looking at one to solve a specific problem might help, trying to learn something by consuming an unspecified amount of hours watching randos with polished youtube videos is akin to scrolling TikTok and feeling you’re doing something useful.
If you train at the gym with bad form, you will hurt yourself in the long run. A person with a personal trainer giving feedback at the right time, decreasing the feedback loop from years to seconds will always outperform someone trying to figure it out on their own(assuming the trainer is competent).
If you are trying to teach yourself programming and never read any documentation, you're going to make a mess of it.
If you're trying to work out at the gym on your without reading anythi g about it first, you'll probably make a mess of it.
There's a lot of info out there about how to train at the gym, as well as how to write code. People who know how to read can certainly get a long way by reading a few simple tutorials.
Yes, but even if we all agree the problem with education at scale remains - there is a very finite and limited amount of 'attention' from craftsmen/masters to distribute, which limits the amount of apprentices.
The alternative has been to massify education for 'students' (not apprentices) in passive lectures with 'exercises/homework', which does not work as well for most things and particularly for crafts.
BTW for a very minor portion of the population the 'student' route is just as effective as the 'apprentice' route, but these are in my experience the exception
Not reading and watching.
Pure and simple.