[HN Gopher] How to Learn Stuff Quickly
___________________________________________________________________
How to Learn Stuff Quickly
Author : hidden-spyder
Score : 357 points
Date : 2021-11-05 06:19 UTC (2 days ago)
(HTM) web link (www.joshwcomeau.com)
(TXT) w3m dump (www.joshwcomeau.com)
| noud wrote:
| I'm thinking of writing an anti-blog post on how to learn stuff
| slowly. In my experience, the subset of "stuff" that I mastered
| and differentiate my skills from others is actually the "stuff"
| that cannot be learned quickly. It's often not so black and white
| how to learn this "stuff". It requires years of deliberate
| practice, there will be no tutorials, there will be no king's
| road (guided learning), there will be no mentors that can help
| you, there will be periods with no progression, there will be
| setbacks, there will be periods with no practice at all.
|
| P.S. Teach yourself programming in 10 years might be a good
| example as well: https://norvig.com/21-days.html
| agumonkey wrote:
| I'd add another layer.. learn how to adapt between the two.
| Ability to be quick and sharp, or patient and focused are both
| very good skills IMO.
| inconfident2021 wrote:
| Learning quickly only works when every situation favors you.
| Because learning requires time while knowing doesn't. In this
| context, to be learned means to craft on your own. And only by
| knowing things do you get to master things.
|
| If the above lines made sense to you, then only read the
| following paragraphs because I don't know if you can relate to
| this or not.
|
| Learning quickly happens when you can know things quickly. That
| way you will have time to explore a lot and test a lot. Going
| through tutorials and documentation just allows you to know
| things. Therefore the quality of tutorials or mentors helps to
| grasp quickly because they just tell you what to know.
|
| Real learning happens after you know things. Throughout my life,
| I got confused between knowing and learning. I can read or hear
| facts such that it allows me to recall the fact. But there were
| cases where I actually didn't understand the fact as I hadn't
| absorbed it completely. I just knew how things were but not the
| idea and reason why they were such.
|
| When you want to truly learn something, to the finest detail, it
| really really requires a lot of effort and dedication. Picking up
| new skills is relatively easy. It just requires knowing enough to
| go through and solve your problems. But honing the skill to
| master level is really difficult.
|
| Think about drawing sketches. You can just watch a tutorial on it
| and draw. Then close the tutorial and repeat it. You now know how
| to create at that pose. But when you want to change it, you will
| have to know about shading, pose, color, etc. Even if you know
| them, it's hard to use them because you may have never learned
| about them. Because to learn about colors, pose, shading requires
| experience and time. The more quickly you can iterate through it,
| the better you get about your preferences and style. Knowing them
| will only give you a shortcut. Learning them will give you a lot
| of creative freedom.
| andhuman wrote:
| > But there were cases where I actually didn't understand the
| fact as I hadn't absorbed it completely. I just knew how things
| were but not the idea and reason why they were such.
|
| That's to grok[0] something right?
|
| [0]: https://en.wikipedia.org/wiki/Grok
| inconfident2021 wrote:
| It hits the spot!
| named-user wrote:
| Can someone condense this down in to a couple of sentences ?
| thundergolfer wrote:
| Overall a pretty good summary of how to teach yourself new
| skills. I personally went far too much into unguided learning
| early in my software journey. I took on personal projects that
| were far too ambitious and floundered with problems that would
| have been 10x easier if I'd focused on grasping fundamentals.
|
| What's missing in this post is that it entirely focused in
| isolated learning, away from tutors and other forms of
| interpersonal teaching. Any approach to learning stuff "quickly"
| should take seriously Bloom's 2 Sigma Problem. [1]
|
| Partly offloading your learning problem onto an expert tutor
| trained in master learning has a good chance of vastly exceeding
| any learning approach a novice can adopt on their own. The
| internet has thus far failed to support this learning model, I
| think because it would be incredibly expensive for students.
|
| 1. https://en.wikipedia.org/wiki/Bloom%27s_2_sigma_problem
| Barrin92 wrote:
| +1 for a mentor. Everyone who has ever learned an instrument
| knows the value of a good personal teacher.
|
| Slightly odd personal recent example, a friend who is really
| good at speedrunning Super Mario 64 taught me for a few hours
| and I got better at it in an hour than I did in the three days
| before trying to learn on my own.
| throwoutway wrote:
| For me it was chess & weightlifting. A few hours with a
| mentor can help tremendously
| buckwheatone wrote:
| Finding a mentor isn't the easiest process, though. I'm a
| very motivated self-taught developer but there's a giant gap
| that could be filled by someone with more experience. It's
| frustrating when I post more nuanced questions on forums and
| get zero response.
|
| From what I gather, there are two approaches: (1) post in
| forums and develop a relationship over time (this can take
| forever), or (2) pay for an inorganic relationship through
| codementor or some other service and hope that it turns into
| a more organic mentor/mentee relationship over time. Neither
| is ideal.
| LewisVerstappen wrote:
| > Partly offloading your learning problem onto an expert tutor
| trained in master learning has a good chance of vastly
| exceeding any learning approach a novice can adopt on their
| own.
|
| How have you implemented this in your own learnings?
| popcube wrote:
| maybe some student read this article and forgot to learning
| from their teachers in university?
| Jensson wrote:
| You need to balance having an expert and not having an expert
| around. Having an expert around to quickly learn the basics is
| great, but you will never reach the same level as that expert
| without learning how to learn on your own. This is the key
| difference between people at higher levels, there are no
| experts that can teach you there so it all depends on how good
| you are at self learning.
| BarryMilo wrote:
| What do you mean "higher levels"? Is there some forbidden
| knowledge that must not be written down? Because if not, all
| levels have experts who can teach you.
| Jensson wrote:
| There is a lot of knowledge you can't write down since you
| yourself don't know what it is, you just know how to apply
| it. For example, how do you structure your programs? You
| can write down some rules of thumb, but you can't write
| down your entire decision process as a flow chart that can
| be used on any program to structure every function in them.
| How to structure big programs is one of the biggest hurdles
| for new programmers, they just have to learn it themselves
| since nobody can teach them that. You can get a bit of
| feedback for simple program structures, but for more
| complex cases you wont even get good feedback, to continue
| to improve at that stage you just have to rely on yourself.
| galaxyLogic wrote:
| There is so much software out there in a way it is not
| too different from biological systems. Programs are like
| creatures you can study and observe. There is no single
| book explaining all of software. You must be a bit of
| scientist yourself. Discover how thing work and what
| works best.
| Jensson wrote:
| That is what I'm saying, you can't teach that.
| TheCoelacanth wrote:
| The experts exist, but can you get access to them?
| ZephyrBlu wrote:
| At some point it becomes more like knowledge extraction and
| synthesis rather than being explicitly taught, because
| there are intangibles that your mentor can't directly teach
| you.
| keyle wrote:
| I must say it's worth mentioning that as you build up a library
| of knowledge and experience in your mind, learning new things
| become more transitional than exploratory. Picture spoken
| languages for example. At first it's daunting and most languages
| have their quirks but overall after a few you find your marks
| easily.
|
| The effort becomes a memory concern where cheat sheets are how
| you transition or learn quickly into a new space.
|
| I'm a polyglot in software development. I can work with most tech
| stack within 2-3 weeks and be efficient within 3-6 months,
| idiomatic within a year maximum. A big part of that is due to
| relatability between spaces. Every toilet has a flushing button
| and every kitchen has a sink and every language had a form of
| exposing positive or negative response.
|
| My advice is always throw yourself in and swim. Find whatever
| swimlane or swimming aid available and move forward.
|
| One caveat is learning spaces that are constantly shifting. For
| example, Swift. What a mess. Look up anything in that language
| and find 5 ways to do something, 3 expired, 1 manageable and 1
| undocumented that works. It's sad but know that that's the
| outlier, not the average!
| thrashh wrote:
| I originally started off as an electrical engineer but these
| days I do backend and more frontend. I'm "full stack" if you
| will.
|
| I very much agree with you. Eventually most "new" knowledge
| feels like it's just really a new "intersection" of a few core
| concepts that you already know.
| [deleted]
| alexashka wrote:
| What a strange article.
|
| First, there is no need to put pressure on yourself to learn
| 'quickly' - that's counter productive.
|
| Second, you need to find a good teacher.
|
| Finding good teachers _is_ how you learn 'quickly'. Now the way
| to do that is to have parents who can help you.
|
| Really, the way to learn 'quickly', is to be born into a family
| that's loving and competent at life. Then it just happens - by
| the time you develop the ability and interest in looking around
| to figure out what's going on, you'll have been in after-school
| activities and a good school for like 10 years.
|
| There's a bit of an escape hatch - if you're good at academics or
| sports, you'll get to have secondary father/mother figures and
| that'll be your chance to catch up. If you don't, you're kind of
| fucked :)
|
| If you weren't born with loving and competent parents, you'll be
| floundering through-out life, in relationships, in your career,
| in lack of self esteem. It's a near guarantee, because whatever
| short comings your parents had, you'll be solving and then some.
| That's just how life goes.
|
| Anyhoo :)
| [deleted]
| nathias wrote:
| Whatever parents and teachers you might have in the end you
| either learn to learn for yourself or don't and you either keep
| on learning or don't. It isn't very hard or a special thing
| where you need to have everything go just the right way, this
| is a very basic thing for our species and anyone can do it.
| emmaLe wrote:
| The internet raised me and I've learned everything from it.
|
| I agree with you on the first point. If you wish to actually
| learn, you take your time. As for everything else... maybe you
| should keep out of the """psychology""" section of the library
| for a while.
| [deleted]
| ZephyrBlu wrote:
| Being able to learn quickly is extremely valuable, and you
| don't need a teacher to be able to do so. In saying that, I'm
| not sure it's something that can be taught.
|
| Don't really get what your parents being "good at life" means
| though, and everyone's parents have shortcomings.
| m0zg wrote:
| Speed is not usually a problem, at least for me. The real problem
| is _retention_. That is, specifically, being able to recall what
| I learned if I stop using it regularly for as little as even a
| couple of months. If anyone has some _real_ tips on how to
| improve that, please share.
| rzzzt wrote:
| I usually write a quick reference/cheat sheet document for
| myself, first on paper, then move it over to OneNote. If I can
| find the paper version the next time I need it, great :)
| Otherwise I can look for the digital copy.
| KetanKhairnar wrote:
| Other josh has written a book on this - ttps://first20hours.com/
| Some of you might find it interesting.
| [deleted]
| tofflos wrote:
| > If you're anything like me, you don't like making mistakes. You
| want everything to go perfectly, the very first time. This
| mindset is generally helpful in life...
|
| I'd say that it's normal to feel that way but that it's directly
| detrimental to learning. If you want to learn something outside
| your comfort zone you must first learn to recognize, identify and
| embrace the fact that you are outside your comfort zone.
|
| Wanting things not to go catastrophically wrong is one thing but
| not letting yourself play, experiment, or even try, because you
| want everything to go perfectly the very first time, is probably
| one of the most unhelpful things in all of life.
| m0zg wrote:
| > This mindset is generally helpful in life...
|
| I don't think that's actually true. I mean, obviously, I'd
| _like_ things to go perfectly the first time I try, but I'm
| resigned to the idea that they most likely will not, and that
| in fact they might _never_ go perfectly. Playing the guitar
| taught me that. :-)
|
| So I don't stress about failure too much, and encourage my son
| to start small and fail from time to time.
|
| The opposite of what Homer Simpson's advice where he said: "You
| tried your best and failed miserably. The lesson is, never
| try."
| tofflos wrote:
| Yeah, also it might be poorly expressed of me to say that the
| desire for things to go perfectly is the thing that is
| holding people back. Maybe it's better expressed as the fear
| of looking bad in front of others (and often even to
| ourselves).
| gompertz wrote:
| My latest way of learning a new programing language quickly is to
| actually understand how to read and navigate the
| API/Documentation properly, followed by learning
| compiler/interpreter error messages and what they mean.
| Understanding the syntax sorts itself out through sitting down
| and commencing coding something... It's not something I will
| directly study in a book.
| DeathArrow wrote:
| I think every successful learner in CS or programming is doing a
| large amount of experimenting. Many books I've read encouraged or
| even required the reader to extend the software or algorithms
| written by the authors.
|
| Growing in a poor Eastern European country with a cheap Z80
| computer, meant experimenting was needed for me to learn as a
| kid. There were only a handful books about Z80 programming and
| all were about Basic and also very basic. The other books were
| either in abstract CS territory, full of high level math or about
| some big iron machines and languages that did not run on my Z80.
|
| So after reading somewhere that I can poke some address to obtain
| a particular effect, without explaining why, the next question
| was what happens if I poke another address?
| rhizome31 wrote:
| Nice article! Also consider reading a book _after_ you 've got
| some practice. Things will make much more sense than if you do it
| without prior experience and you'll get much more in depth
| understanding of the subject.
| bertr4nd wrote:
| Where I tend to get stuck is somewhere between the "make
| something similar to tic-tac-toe, like bingo" and "make a level
| editor for beat saber".
|
| It's a difference both in scale, and in divergence from the
| known. While I've built large systems for work, it's usually on
| the scale of ~1000 development hours and 10-100k+ LOC. Most of my
| personal projects are basically toys, a few hundred LOC and do-
| able in an afternoon. I'd like to be able to build medium-scale
| things without dedicating a significant chunk of my life to them.
|
| The other facet, divergence from the known, is the other sticking
| point. Given a tic-tac-toe board it's pretty obvious how to build
| bingo. I don't even know what I don't know about how to build a
| 3D editor, so it's hard to get started. (I have this problem with
| math, too; since so many concepts build on each other, it's hard
| to jump in and do something interesting.)
| wanderingmind wrote:
| One thing that has helped me to learn better is not immediately
| ask for help but try to solve it on your own. While it might not
| be possible for everything, trying to solve on problem by
| yourself in a day goes a long way.
|
| For example in programming, when I stumble on a problem, not
| immediately going to SO for an answer but thinking about it for a
| while has helped me to learn better.
| wiz21c wrote:
| How to Learn Stuff Quickly ? Easy ! Start before 50 years old.
| zmb_ wrote:
| Actually it's 25. Around that time your neuroplasticity changes
| and it becomes a lot harder to learn new things. You still can,
| but it takes much more effort and deliberate protocols to
| follow.
|
| Prof. Andrew Huberman from Stanford University School of
| Medicine has some great podcast episodes on this (among other
| interesting things) [0].
|
| [0] https://hubermanlab.com/
| wiz21c wrote:
| I'm studying data science at engineer level (so the top level
| in my country), probabilities, neural nets, tons of maths,
| I'm 48.
|
| > You still can, but it takes much more effort and deliberate
| protocols to follow.
|
| is absolutely true, words for words :-)
| nomad225 wrote:
| >> You still can, but it takes much more effort and
| deliberate protocols to follow.
|
| >is absolutely true, words for words :-)
|
| Do you follow a specific protocol or method for learning
| these days? And compared to when you were learning
| something when you were younger, do you find it more
| challenging (even with the protocol)?
| AQuantized wrote:
| The change is gradual however. You don't wake up one day at
| 25 having drastically changed neuroplasticity overnight.
| Being healthy and in shape also seems to be important, as
| well as continuing to learn new skills and engage in novel
| activities.
| heurisko wrote:
| I greatly prefer books over videos when it comes to learning
| programming topics.
|
| I'm always disappointed when I am directed to a video, rather
| than text, when I'm searching for a particular topic.
|
| It takes a long time to seek to what you want, and you're forced
| to learn at the speed of the presenter, rather than your own
| speed, as with text.
|
| I also find it easier to learn things offline. I had to get up
| and running with the Spring Framework quickly, and what worked
| was putting the documentation onto the Kindle.
| akersten wrote:
| So-called programming "tutorials" have never sat right with me.
| The idea is fundamentally wrong. It's like trying to learn
| painting by watching a series of videos in which you're taught
| which parts of canvas to paint what exact hue to recreate famous
| works of art, instead of being taught how to mix paints, negative
| space, and color theory.
|
| "I'm stuck in tutorial hell, I understand the tutorials for how
| to multiply 3 digit and the tutorial for how to multiply 4 digit
| numbers. But when I try to multiply 5 digit numbers on my own, I
| just can't figure it out and have to go look up a tut."
|
| Programming shouldn't be taught piecewise via 15 minute videos on
| YouTube of how to accomplish one particular specific task. It
| needs to be built from the ground up, from first principles of
| the environment in which you're programming, and the instruction
| given to pupils must be "determine the solution you need, break
| it into a series of building block steps, and then perform those
| building blocks." Not "try to re-create the tutorial of how to
| make a React component send a JSON request step by step without
| looking at the video." But no one makes video "tutorials" about
| the building blocks. Which is a shame, because that's the actual
| learning part.
| SamoyedFurFluff wrote:
| > It's like trying to learn painting by watching a series of
| videos in which you're taught which parts of canvas to paint
| what exact hue to recreate famous works of art
|
| I have some bad news for how artists traditionally learned how
| to paint. I agree with the overall thrust that only learning by
| copying with no theory behind it is bad, but the problem isn't
| the copying it's the lack of theory. A python flask how-to that
| also explains how flask works while doing the step by step
| process seems just fine to me.
| shahinghasemi wrote:
| I have created a learning framework for myself to learn literally
| anything. First of all It's not going to be easy to get started
| learning something new because there are many holes in your
| mental model about the material and the aim of the learning is to
| fill those holes. We're living in an information era. You can
| drawn yourself in surfing the web/docs/articles if you are some
| kind of perfectionism to convince yourself that you're learning.
| But that's the trap. You should spend about 30-40% of your time
| learning the material and 60-70% of your time applying it and
| then under the process you'll find: "Oh I don't know how or what
| is X" then you go to learn about X specifically. This works best.
| In other words as you will be applying what you have learned so
| far you start "learning on demand". In other words filling the
| individual holes. This loop will force you to learn the topic.
| kqr wrote:
| > First of all It's not going to be easy to get started
| learning something new because there are many holes in your
| mental model about the material and the aim of the learning is
| to fill those holes.
|
| It's worse than that, which you allude to later in your
| comment. The problem is not holes in your knowledge. The
| problem is, as they say "what you know that just ain't so."
|
| A large part of learning is about _unlearning_ invalid,
| oversimplified mental models. And you won 't find those
| problems without trying things out and realising the outcome
| diverges from your expectation.
| omegalulw wrote:
| > You should spend about 30-40% of your time learning the
| material and 60-70% of your time applying it
|
| +1. This is so common that there's a name for the algorithm
| that searches a space this way: IDA*!
| marginalia_nu wrote:
| I think it's a very big problem when learning things that
| almost everything can be made to sound plausible when you don't
| have real world experience to compare them to.
|
| It's also very easy for those plausible-sounding ideas to stick
| around for so long in your mind that you sort of start taking
| them for granted, and we tend to be really bad at scrutinizing
| those things we take for granted.
|
| It's only much later, when it just isn't working, and you're
| relutantly forced to come face to face with the difficult fact
| that some of the things you thought you knew really well were
| just some loudmouth opinion on the internet.
| DrNuke wrote:
| People can learn how and from they want nowadays, what is still
| important is to get some form of recognition or validation for
| social utility?
| [deleted]
| another_story wrote:
| A good summary including many of the common techniques of how to
| learn something. One of the things I always ask myself at the
| beginning is why. I might see something that is interesting and
| get temporarily motivated to do it, but if I stop myself and ask
| why, I'll often discover I'm just riding someone else's interest.
| pdm55 wrote:
| Thanks for the insights. I followed one of your links, namely
| your link to DEV (0). And found this guy's work (1) where he
| publicly details working through "Eloquent Javascript". Useful.
| (0)https://dev.to/ (1)https://dev.to/prerana1821
| xyzelement wrote:
| Not sure if this qualifies as "quickly" but my best strategy is
| to put myself into situations that force me to learn the thing I
| want to learn.
|
| It's the difference between "learn a thing before you commit to
| doing it" and "commit to doing, and thus learn"
| imiric wrote:
| I glanced at the article and there are some good tips here, but I
| really enjoyed seeing an actual hit counter at the bottom. :)
| Love the throwback to a simpler web, even though this one is
| surely much more complicated under the hood.
___________________________________________________________________
(page generated 2021-11-07 23:02 UTC)