Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You learn by doing and thinking.

Not reading and watching.

Pure and simple.



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.


Let's take two hypothetical people:

One reads all of the C++ spec from cover to cover. Remembers every single word of it, doesn't write a line of code.

One just starts fumbling around, writing code, reading just enough docs to get where they need to go.

Which one is the better programmer?


Reading and watching fills your brain with whats possible

Doing and thinking solidifies it, teaches you to use the things you've read about

You need both

When I'm learning something new I like to skim a bunch of content upfront to get an idea of what's there


> fills your brain with whats possible

It doesn't. That's the problem.

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.


Can you give an example?

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


Read/watch, do, fail, think, read/watch, do, fail, think, ...

Learning requires effort and access to knowledge. And of course, learning requires that you know how to learn. This is what school tries to teach.


Read, eval, print, loop.

Learn, apply, review, repeat.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: