Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The more you learn, the faster you can learn (pranay.gp)
307 points by pranaygp on Sept 2, 2019 | hide | past | favorite | 97 comments


Some of the examples listed when the author speaks about why they are such a good learner felt a bit forced to me. I understand that authority is being established here, but a good number of the early examples seem to be what I would expect from a successful college student who has done an internship or two (e.g. what is recursion, building reusable UI components for a large company).

I also clicked through to some of the projects to find that they were team efforts, not independent projects that the author miraculously completed due to their own precociousness alone. This felt a bit misrepresented to me, although I understand the intent was probably just to show the breadth of involvement.

All in all I was happy to read the author's advice about learning but something about the intro rubbed me the wrong way. The author clearly has had quite a good number of experiences and I'm glad they're publishing these thoughts on those experiences. I just wonder if the post could do without the early hints of (forgive me) vaingloriousness? It felt quite academic and intriguing past the intro for me.

As the author may see this: please don't take this as anything other than a single individual's thoughts. I mean in no way to discourage you.


OP here, great point civicsquid. I got that feedback a lot from people (i.e. spending too much time on the post trying to establish credentials) and that I overdid it.

The point of this post for me is start trying to write (I think I'm pretty bad at it) so I'm extremely thankful for the feedback and glad you found the content itself academic and intriguing. :)


I got the same vibe, and it did take away from perhaps an otherwise good point.


If you are in industry and you've some experience, highly likely you are already doing what the author claims to be his fast learning secrets. There are actually no deep secrets I find in his post, all of those things atleast I instictively do. Even my friends use same approach, so I thought it's so common that I don't have to write a blog post about it.


Maybe the technique in this post is common, but I personally believe that putting yourself and your thoughts out there is a good thing for engineers and critical thinkers in general. It allows us to get feedback and involve others on a wider scale, even if that means writing about things that have been discussed or thought about a number of times before.


I found that companies always pretend to be all about learning, but in practice I haven't learned a damn thing after leaving uni, except the idiosyncrasies of their code. Maybe it gets better in senior positions (I spent 7 years in uni and have only 2 years of working experience), but I don't expect so.

I feel like since I am working, I am just getting dumber. I miss the time in uni where I was learning new things every week. I'm thinking of taking a year off just to learn new things.


I've learned one important thing on the job: how not to do things. That's more important than it sounds. I noticed for instance that I developed a taste for simplicity over the years that wasn't there when I started. Now junior programmers can read my code.

Domain specific knowledge (so I can talk to the customer) I generally learn on the job. But it's not generally applicable, to other domains, and thus other jobs.

Technical, generally applicable knowledge? Mostly on my own time. Companies don't want to pay you to learn. They want you to apply your knowledge. I suspect this explains in part why they can't retain employees: they learn nothing, they get bored, so they leave. Changing gig at least lets you learn a couple new things the first few months.


Unfortunately you probably are getting dumber, look to folks who had the same trajectory as you but are further ahead for confirmation.

If your work doesn’t get more interesting you’ll adapt to fight the boredom by becoming dumber. You have to fight that somehow if you value your mind.


Fighting boredom by becoming dumber, couldn't have said it better myself.

If you feel like this is happening, it is time for a change.


Anecdotally I felt that the 'become dumb to fight the boredom' mentality spills quite easily into life outside of work if you let it too. If I had a challenging day, I'd go home and study or build something - I'd keep the productive 'train' going. If I had a dull day, which was most days after the first 3 months getting to grips with the job, I'd go home and blank out watching a TV show or playing a video game. I couldn't break out of the 'dumb' mind-set after spending 8 hours in it.

Regretfully I've lost weeks and months to this mindless monotony over the last year. Thankfully Friday is my last day, and I start a post-graduate course in October which should be a splash of cold water for my brain. In short, I'm very much in support of your second point.


> If your work doesn’t get more interesting you’ll adapt to fight the boredom by becoming dumber.

This matches my experience also. And is transversal to all fields.


This insight terrifies me along with my complacency at work and my memories of being frustrated as a green new hire at the way things were done inefficiently at a snail's pace in the enterprise world.

Startups allowed me to extend myself and tap back into that motivation and drive from my younger years to try new things and push myself to learn faster.


> I miss the time in uni where I was learning new things every week. I'm thinking of taking a year off just to learn new things.

Even at the senior level I don't think you'll get what you're looking for. Unless you're leading new research efforts, it won't make much sense to move you away from a system that you only understand.

A friend convinced me to quit my job a year ago and I'd highly recommend it. If you can afford it, quitting your job to learn new things can be a really valuable investment. There are so many new fields and textbooks out that could each easily turn into an interesting OSS project and some income. You can write a book about all the new stuff you're learning which which will help raise your profile. It takes a couple of days to really to the gist of any CS/Math field if you have access to the right resources and the right amount of free time.

So taking time off doesn't have to be a career hit, you need time to explore new fields (all the interesting ones are initially hard to grok) but you'll have a unique skillset by the time you're on the other side and will probably make more money if you decide to get a job again. This has only really been true post-internet.

If you wanna chat, email me, it's in my profile.


>So taking time off doesn't have to be a career hit

My own experience has been pretty different. I took time off of my work to run a business. we even wrote a book [1] - Now, uh, I needed to run that business, on an emotional level, I mean. but it was a hugely bad idea financially.

When you show up to an interview after spending years running your own company? I mean, I'm sure it's different if you are management, but as an IC? Even though I had written a book[1] it was like I was unemployed for that time. There's no way my wages are anywhere near they would have been had I spent more of that time working for other people.

I mean, my own case would have come out differently if I was able to sell my company to someone big, which may have come down to a few obvious unforced errors of mine?

I mean, sure, sometimes it's still worth it to take time off of work to do something else... but don't say it's not a career hit. It is a huge career hit and you need to include that in the equation.

[1]https://www.amazon.com/Book-Xen-Practical-System-Administrat...

(When doing the "is it worth it" math on writing books, consider the shelf-life; that shelf life doesn't just apply to sales, it also applies to the reputation boost. My own recommendation to my younger self would have been to get a job while the buzz for the book was at it's height.)


Thanks for the comment! I am probably in a different position; I work in Europe and am not as wealthy as most of the US-based developers, so if I take time off it probably won't be in the near future anyway.

I'll send you a mail!


I feel exactly the opposite. I started my career in a small company, and probably learned more during the first year than all my years at university combined.

If you want to learn, try to start at an 8 person company where you basically have to do everything yourself. Let's see if you still learn nothing when you get thrown in the water in all kinds of different topics.


OP here

I'm sorry you feel that way :(

> idiosyncrasies of their code

I've only had about 6 months of processional work experience, 3 months of which have been open source code, so even just learning _their_ code had a huge learning impact on me because I saw it as "wow, this is how code works in production". I think I learnt less about code itself though honestly, and instead learnt the systems and how those people thought about things. A lot of my code reviews on other people's PRs were "Could you explain to me why you did things this way" since I was just learning.

I don't know where I'm going with this. I'm less than a year out of uni and am still learning new things every week. Taking a year off doesn't sound like a terrible idea - though I know I personally couldn't motivate myself and would end up just playing DotA the whole day ️

I'd love to keep chatting if you'd like and talk about it and how we could learn stuff. Wanna DM me?


You’re both really really green. That job on your resume is worth way more than any learning project, whether is a book or open source or whatever

Bad move


green?



Thanks for your reply, I really appreciate it! I'll send you a mail.


Hmmm... I'm not sure where you work but I can talk about my experience

* I've learned a lot about architecture and scaling * Maintainability of systems is something typically that people learn with experience * there's a lot to learn from code reviews * we have DataArch reviews, SecArch reviews, and I've got to learn so much from each of those (Akamai)

Apart from that - talking about Akamai specifically where I work - * there's a program I'm currently enrolled in called "Intrapreneurship" where we are trained on all aspects of the business - marketing, finance, product management etc. in which I have learned so much * I recently became a people manager - so there's a lot of training associated to that

So, if you feel you are not learning - it might be specific to your experience or a set of companies - but there are definitely companies which invest in their people - so actively look out for such opportunities.


This describes me pretty well. I'm a dedicated learner, and I think it's what I do best. I don't master topics. Even the information about the thing can be a distraction. It's about synthesizing info into your working knowledge. Everything is reference.

CSS is a great example. Do I know everything about it, even after 10 years? Nope. But I know it well enough that a quick reference is all I need for any problem.

Programming in general, too. Took me a minute to grok fundamental things (data types, functions, etc). I don't care what language I use, it's all one, plus syntax. I want to use other languages, for fun and synthesis.


"The determined Real Programmer can write FORTRAN programs in any language." - Ed Post, Real Programmers Don't Use Pascal, 1982.

There is a hell of a lot more difference between the various programming languages than their syntax. Natural languages as well - you can render idiomatic English in any language, and if you don't care very much about getting your intended meaning across (and your listeners are both patient and fond of puzzles), you may well choose to do so. It may get you food and lodgings for the night. But the computing equivalent of getting by in a pidgin isn't quite the same thing as programming in the language you're using.


100% agreed. You can write C-style code in JavaScript, but it won't be idiomatic C and it won't be idiomatic js.

Syntax is a very minor piece of the programming language pie. If Python, Haskell, and Rust all shared the same syntax an expert Python programmer would still have a hell of a time getting anything done in either of the other two languages.


Discovering the differences between languages is all part of the learning process If you can start off with "this is how I would do it in C" and try that in JavaScript you'll speed up your learning by focusing on what features are unique/different in JavaScript. Ultimately they have more in common than they differ.


Eh... once you know a handful of languages, it's fairly easy to adjust to a new one. If I have experience in C++, C#, Ruby and Javascript, do you really think Java is going to blow my mind? Or I won't be able to write decent Python? I'm sure I'd pick up a few tricks and my code would get idiomatic but I am going to be 90% there from day one.


I'm pretty sure Erlang, Prolog and Forth would blow your mind.


Alternatively you can just grossly misuse them.


And C would blow his foot, like it does for everyone at some point ^^.


Or anything from the APL family such as APL itself, or the ASCII-only derivatives J and K.


Prolog blows my mind ever time I come back to it.


Yes, it's an amazing invention!


Are there a lot of Erlang, Prolog and Forth jobs, where you are?

Face it, we all pretty much use the same 10 or so languages in industry.


I'm working mostly in Erlang and from what I can tell there is quite some demand for Erlang and Elixir developers. Also there seems to be a lot of demand for Scala developers which while based on Java is not the same as those 10 languages. I've also used PostScript in a work context (which is stack based like Forth).


That's pretty cool. Erlang interests me, mainly because of what a amazing speaker the late great Joe Armstrong was. I don't really solve a lot of Erlang shaped problems right now, however.

My situation is this - people see my CV, see those languages, and immediately dismiss me for Java jobs. I think it's a short sighted decision, but it's the thinking that permeates the industry.


Ok, what was the last language you learned? Can you say you learned only 10% of it since the first day?


Javascript/Typescript, and yes, pretty much.

This are how you make objects, this are how you make functions, here's constants, here's variables. Use let instead of var for the scoping you're familiar with. Here's a standard library, it's a bit spartan but pretty much everything is familiar.

Later on I stopped using 'class' and 'this' and just used closures that return objects (I consider it more idiomatic, YMMV). I got a good feeling for when to use an object and when to use a Map.


:D

I found out the fun way this trait often doesn't fly in interviews when they ask about your best quality.. Scuttled a phone interview with a hiring manager at Cloudflare real fast and he condescendingly chortled that "Everyone says that". Thought I did an okay job rescuing the interview after that but.. Wasn't feeling the dude anyway after that so I guess the feeling was mutual :)


I agree. But I feel the people / company that recognize and appreciate your broad skill set is the place you want to be. I struggled a bit on this myself.


It's their loss and it's a huge reward seeing their faces when you touch something that becomes a really good business after they declined ;-)


I also agree, but I'm a physician (an internist => generalist). As I grow in my career, I'm finding that when I encounter a new disease or procedure or treatment and go to read about it I learn an order of magnitude faster than when I was in medical school or maybe even residency. I'm amazed by it.

My retention is a bit better too, even if I don't see that new thing again for a long time, but not nearly what I wish it was... At least now I'll remember having seen it and a general sense of the concept even if I have to re look up the specifics.


I was like you for programming languages. Until I tried R. The data types just wouldn’t click for me. Sometimes it’s an array. Sometimes it’s not.


Dunning-Kruger effect?


I couldn’t agree more about finding the best resources. As with many other things in life, there are power law effects in how intelligent and knowledgeable experts are in their fields, and more importantly, how skilled they are at communicating what they know. The very best are orders of magnitude better than the average expert, and you will learn exponentially faster and better if you can find these people. This means being very discriminating—if you don’t find yourself highly enthusiastic to read/watch/listen to more of someone, you are much better off moving on quickly than trudging through without being truly inspired. It’s better to search broadly at first, then zero in when you feel that ‘click’.

Unfortunately, most schools and universities take the exact opposite approach. While you can eventually get very deeply and thoroughly educated about a specific field via academia, it’s an incredibly inefficient way to learn.


>> , scaled a botnet of over 2,000 bots that made money from a popular trivia game,

Did this make anyone else flinch?

edit: I do want to comment on the Feynman Technique linked in the article. I've never actually written concepts down as explained, but it's very close to how I _actually_ learn (or at least, feel confident in my knowledge). If I can't explain something in plain language, there's a good chance I've gaps. The steps listed are pretty succinct - going to have to give it a try!


I wouldn't say it made me flinch, but that is not a throwaway line. It deserves some additional, I'm sure quite interesting, explanation. But I believe he is referring to HQ, and there have been other write-ups on HN about how to automate beating it.


I love telling this story, but that wasn't the point of the post


At the end you mention you may have found a good resource to improve your writing. Which resource is that? It's something I want to get better at as well.


Fair enough. Out of curiosity, was this a big money maker for you? Like 5 or 6 figures?


Relying on fast estimations is one of the most powerful aspects of the way our brains work. But applying the skill of finding and applying fast estimations exclusively to every topic--like reading SparkNotes over an original piece--is a good way to eventually know very little.

Suppose any rate of decay in the things you retain. If your starting point is already small, losing any of it comes at a high cost. At least when pursuing mastery of a subject, you are repeatedly faced with new ways of understanding the basics, to the point that they are innate and automatic. You might forget small specifics which you can later find in your known references, but without mastery you might instead forget the basics--and relying on a reference for those basics means it's much less clear when they are aptly applied.

I would hazard a guess that that's why people have always tended to master only one or a couple skills, but people congregate and work in complement with others who have mastery over other skills. The community is the entity with knowledge over many domains--not the individual who learns tons of surface material. And simultaneously, everyone does learn a little bit about a lot of topics from time to time. But that balance is important--so I wouldn't personally weight so heavily the cursory synthesis portion of it as OP did.

--

Also, a little advice to OP. Drop some of the grandiose introduction. 100% of the links I clicked in the first paragraph were more disappointing than their descriptions led me to anticipate.


Basically, Pranay needed to boast his CV to the world and wrote a clickbaity article where half the paragraphs are mentions of his accomplishments and the rest is common sense which can be described as "learn enough to ask good questions and practice."


The first paragraph in which he boasts his achievements is what made me very interested in the article and led to focus reading carefully. I see the boasting is a by product of providing evidence, i don't see boasting alone in the post. It doesn't matter it's useful stuff.


If you clicked on any of the project links you’d see that most of them are exaggerated or misrepresented in the intro. A lot of team efforts for which he gave no credit to the others involved. I can understand the desire to establish authority from a writing perspective, but the author is embellishing his achievements here in a disingenuous way.


Exactly. What a disappointing article.


Interesting post! It's almost exactly what I've found that has worked well for me. Putting in the three or four hours at the beginning of the process of learning something to find the best resources is essential.

That being said, I do think the importance of mastering one or two things should not be overstated, and was kind of ignored in your post. Let me elaborate: for me my deepest skill has been 3D modeling and rendering: it's been about six years of pretty consistent practice, doing motion graphics, general modeling, animation, color theory, and really just trying to absorb all the knowledge I can about this specific passion. This process has been super useful for a couple reasons, and kind of worked to snap me out of the "generalist" learning mindset. For example, I've found the learning curve over time for 3D modeling is pretty generalizable to other skills I learn: because I've sunk so much time into it, and have had to push through plateaus, and grind over hills, and realize when I'm just coasting, whenever I am learning other things, I recognize the emotion swing and know roughly where in the learning process I am. Similarly, the fluency I have with my 3D modeling tools (pretty much all the hotkeys burned into muscle memory) gives me something to strive for when learning other tools and skills. I know what fluency feels like now, and I know when I'm lacking in it.

For me though, the most important thing about pursuing mastery of one or two things instead of full generalization, is that it teaches you patience. Genuine patience. Something I feel is becoming a lost art in our modern time. Seeing how far you've come after six years of working at something, and then looking at your inspirations and seeing how far you still have to go, is a feeling that can either break you, and make you give up, (if you are impatient), or can help you, as you have the choice to just keep grinding away and choosing to be patient. 3D modeling and animation is a ten year (minimum) goal for me, and it's served as a wonderful learning experience for me in many, unforseeable ways.

To tie it back to your post, I take this "ten years" mentality to almost everything I choose to learn nowadays: I try to stay away from the fancy new frameworks and toys, and try to learn fundamental things that I can spend ten years learning and still have space to grow.


I love this. Yup, it's something I've completely left out, but that was (partially) intentional. I wish I did a better job explaining this, but yes - the technique I talk about won't let you master anything, but will let you scratch the surface on a lot of things really fast. There are things I want to master, but there are too many things out there that fit that bill for me and I still haven't found something I'm able to spend the amount of time you've put into 3D modeling without getting distracted.

I hope to write a follow up post to this when my own thoughts on this topic are more clear.


That is how I felt about mastering Photoshop. "Muscle memory," exactly. And patience, yes, it took time and a lot of practice. I learned to accept intermediate stages as paths to mastery, knowing I'd get better if I just kept trying. Since then, that's how I approach all learning. I know that whatever else I try to master, I will get there, and what seems hard at first will become easier. I mean, that realization is like muscle memory too. It's ingrained in me now.


I still haven't found the patience to master Gimp the way you have mastered Photoshop :\


What would be some fundamentals you can recommend that's not new frameworks with unpredictable lifespan?


Of course, some of these steps (like finding the best learning resource), can only be done once you're already an expert who knows what all of the resources are! There are also a lot of situational things, for example although you may have a preference between videos, documentation and example code, the best to learn from is usually whatever medium the best teacher decided to use.


Experts usually know some great resources, but are often themselves your best resource if you have access to one. I definitely forgot to mention them, the people I worked with at Facebook and ZEIT are on that list.

But when I wasn't working somewhere, I had to find my own resources and trust my own instincts. I didn't know who the best teachers were, so I had to decide for myself, what the best resource for me would be. Often, I got it wrong, but I got better and finding the diamonds in the rough.


“I left an important part out of the process above - how do you actually find the best resource. I don’t know.

That said, I’ve gotten “lucky” enough times that I think I know how to optimize for finding it.”

Pro tip: No, you don’t.

I’m game to explain it over coffee to the author, who seems to be in the Bay Area, but this writing reads a lot like someone who just started to scratch the surface on abstract learning and metacognition while thinking that it’s a wildly new discovery.

It’s hard to hear/read the reenforcing recitations of new-to-the-(speaker/author) concepts and not see it as a slow-motion replay of a common thought process, akin to sitting in Dolores park listening to musings on democracy and governance in the age of automation... thirty minutes after a batch of pot truffles has sold out...

As a generalist/multi-whatever, let me say this: expert engineers hate the knows-enough-to-be-dangerous guy who thinks he’s god’s gift to learning that can just walk in and be conversant after reading one book. That guy is a pain in the ass know-it-all that spoils conversations, derails projects, and digs bottomless pits of technical debt.

How do I know? I was that guy when I was younger, and I’m sure I drove people nuts.

No doubt there are times when I’m still that guy, but I try to hold my tongue more now until I’m confident in what I know and openly disclose where I think I fall short.

If you can’t take that mechanism for learning and flex it down to the bottom of the rabbit hole, or if you always fall back onto the crutch of relating a complex topic to a comfortable imperfect analogue, you’re aiming to be the engineer that gets handed non-critical work or the manager that nobody wants in a meeting... Or maybe a successful founder of some kick-ass mega unicorn... sigh... whatever.

In the big companies (and Silicon Valley) I hear/see this type of thinking and self-congratulation all the time among engineers with 1-4 years of professional experience. On occasion, those engineers have the horsepower to back it up, but it’s rare. Some of that write-up resonates with how I’ve learned/worked over time, but I’d never write something so stridently confident.

Me 20 years ago?


I feel your tone is slightly too condescending, but I have to agree with the general statement.

I'm responsible for hiring in my small department, and the OPs blog post would be a red flag.

We appreciate if candidates show they can learn quickly, but it's not useful to us in isolation. You already need to have a good base set of skills (CS, physics) but more importantly the humility to accept that with 5 years of experience you probably don't really know the thing you claim to know.

Some bay area tech companies like to hire more riskily, so it might be a good strategy after all though.


Ha! I wouldn’t be surprised if you found it altogether too condescending...

I generally find myself being a little more brutal with people who sound/read like me 18-20 years ago, partly because I think that being hit over the head can actually do some good. It certainly helped me, and I’d have done better to listen more quickly rather than having the echoes of those much wiser than me take decades to sink in.

I strongly favor raw learning ability over knowledge when hiring for most positions. It’s incredibly valuable to be able to transition from one space to another over the span of 3-12 months (depending on the domain). Some badges are harder to earn (e.g. mathematics, physics, hardware, distributed design), but I generally feel okay taking someone who is an expert in one space and pointing them at another space that relies on the same fundamentals if they seem like they can learn.

I do, however, prioritize two things above learning proficiency when hiring:

1. Accurate self-assessment. If you can’t understand where you are, you’re going to be a constant headache. 2. Not an asshole. An asshole can destroy a team, even if they’re brilliant.

I want someone to be able to learn deeply quickly, though. Generally, if they have that ability, they’ll have real depth in areas of prior learning. For candidates at the Senior Engineer levels and above, I’ll spend at least an hour or two before the interview reading their publications or digging in on their areas of stated expertise so I can ask questions probing to their edge (or mine). Sadly, I hit the candidate edge first for roughly 80% of candidates, and it strongly correlates to no-hires.


Given that software as a arena is a widely competitive and rapidly evolving one, you can never know if the person in front of you is an expert or not. In such a case, what has always helped me is to first remind myself to be humble and use this cheatsheet:

* ask questions that probe your point of concern, instead of pointing out flaws. This allows the other person to reveal his expertise with a solution and also enlighten you in the process or admit their mistake.

* Never claim to know everything. Always be cognizant of the fact that other people ("newer" people) will show you up. Always be willing to learn from anybody who makes a concise argument.


My wife and I really enjoyed reading and discussing this blog post over our morning coffee. The author said it himself that he has trouble writing and maybe more importantly posting his work for others to read.

That said, I can see how the first paragraph (with it's the self-congratulatory tone) could have primed you with these feelings.

I'm a firm believer that there is nothing wrong with re-explaining a well known topic (learning how to learn).

After blogging for the last 10 years, I find it amazing how my writing on a topic which I find elementary could be such a great resource for someone else in their research and problem solving.

Since you appear well versed in the topic of metacognition, you likely just proved the authors point. You spent time on a beginner/intermediate level resource on metacognition...

It is not the authors fault that you experienced diminishing returns on your time and effort.


Yeah... I don't think you got my point at all (which may be down to how I made it).

The author started with "I amaze people with how well I can learn", bridged with "here's my method", which could be reduced to the mixed-media version of the stereotypical programmer who "read one book about that once" (which drives experts crazy), and closed with "I think I've optimized this! Behold!"

So it easily reads as hubris, possibly mixed in with some raw horsepower, with a dash of Dunning and Kruger giggling in the corner at invocation of their work in what is likely a demonstration of their work.

So it's not the musing on a well-trodden topic that bugged me. It's the tone and subtextual (and, at times, overt) assertions...

Two more things, one of them important-ish:

1. I haven't experienced diminishing returns on my time and effort. I learn much more quickly now than I did when I was a fresh-to-industry voracious hot-head, in large part because I've learned how I learn, a mechanism that doesn't map well to all (or, really, many) other learners. My scoffing at 1000X comes from having thought the same sort of thing 20 years ago and having been dead wrong at how much more ceiling there is.

2. I'm in no way well versed in metacognition, proving a different point: One needs merely know more than the others around at the time to seem like an expert, and slinging some language around can buy one a false sense of expertise, for others and oneself.


: )


Author here

>I’m game to explain it over coffee to the author

I'm game. You make some great points and I feel like I could learn a lot from you. DM me :)


Could you explain it in a blog post for those of us that don't live in the bay area?


Could you recommend a more principled approach to abstract learning and metacognition?


It's a clear flywheel. Desire/Curiosity -> Risk-taking -> Delayed Gratification -> Self-Confidence -> "Give me more".


This post could be expanded with what learning resources you found really awesome and why.

I use HN to find the best programming and math resources by using their search function, looking at the most upvoted learning resources or by scouring the comments and finding a consensus in a more qualitative manner.

On the top of my head: it led me to places such as Gilbert Strang for linear algebra or Eloquent JavaScript for a good introductory textbook and JavaScript The Good Parts for a more advanced textbook. 3Blue1Brown was a good channel for mathematics. And it is also thanks to HN that I discovered vimtutor. There are also a lot of references made her to Coursera course Learning how to Learn.


Definitely, I listed a few examples of great resources to make a point on the article. Another resource that seems like it might be great that I'm currently reading is Julian Shapiro's growth marketing guide - https://www.julian.com/guide/growth/intro

It is long form text, which is an automatic -1 for me, and I dismissed this for a while, but over time it's seemed to come out as one of those "great" resources in a different domain that I muse read. After starting, I noticed

1. It reads more like vimtutor than an article; i.e. you pick your own adventure, which I can bite

2. Many people I look up to as experts have directly recommended this to me

3. It's relevant to me now - I'm working on a startup

I still dismissed the guide for a long time and wasn't convinced it was the best resource out there - but it's starting to seem like it's atleast a local maxima for me.

I hope that made sense into how I think about resources when learning. I don't yet have a coherent system in place to determine how valuable a resource is to me. I usually only know months or years later


I wrote about something similar in the past: https://blog.oxplot.com/transient-ideas-and-learning/


There comes a point in the learning process for any subject where you get so excited about the fact that you understand something new that you feel you need to tell everyone about it. This feels like one of those posts—the author has very limited experience, but he has formalized a coherent (albeit unoriginal) idea and because of that exciting feeling he now wants to shout it to the world. It’s good to write as an exercise to help you grow or solidify your ideas, and a post like this, with all its self-congratulatory language, probably would have ended up better if it were written for OP himself rather than for the world. Instead, by publishing it, the author has the need to establish (and, it feels, compensate for) “why I’m qualified to talk about this”. It’s premature to have shared this underdeveloped idea, just as it’s premature for the author to be boasting his achievements.


Bingo! I am an author with very limited experience and this was an exercise in growing and solidifying my own ideas. To that end, I chose to write about an underdeveloped idea and share it with the world. If you look me up, you'll find a string of unfinished and incomplete projects and ideas. I'm usually not scared about sharing underdeveloped ideas prematurely - I think it helps me grow (I wouldn't have gotten as much feedback on this post if I never shared it)


I made a hobby out of exploring how learning works. The author is spot on. However, there are some tweaks worth considering:

1) The author proposes learning _everything_ under the sun, so that one has enough dependencies to learn new topics. This is like downloading most of the packages in aptitude to speed up builds.

However, I prefer to go about it in a different way. I focus on patience and normalizing myself to long and deep build chains. Learning a light topic in a new domain can take hours, if not days, to understand it deep enough to successfully use it to learn other concepts.

When there is something I need or want to know, but when I pull up Wikipedia and see a bunch of foreign vocabulary, I will create a dependency list of vocabulary, and learn everything I need to know to read that article and flawlessly understand it. If it is a new topic it can sometimes take a week of slow learning to quickly learn. It seems painfully slow, but it's learning a large chunk of a new domain in a week. This could be something a college class takes months to go over, so the rate is quite accelerated even if at the time it doesn't seem like it. Slow and steady really does win the race.

2) >I keep trying while following a breadth-first-search approach to domains and resources as described above.

and

>Stop. This is counter-intuitive, but unless you want to become a master at something (besides learning), you really just want to know everything at an intermediate level.

When recursively learning prerequisite concepts, usually understanding 100% of every prerequisite concept is necessary. There are no short cuts. In this scenario a depth first search is ideal, finding the root and starting there.

Likewise, a dependency chain of concepts is a chain of abstraction. When learning a prerequisite concept, no matter how abstract it is, it must be thought of as concrete. It must be understood as if it is concrete. This is the minimum bar to using a concept to build up other concepts. This is can be thought of as an intermediate level of understanding, but I suspect for most people this means mastery. Don't stop short.

3) What is learned will be forgotten within a couple of weeks, unless it a) has been pondered about a minimum of 6 seconds, usually by making up a story to describe it to yourself. The 6 second rule is a neurological limitation that is required to move the memory from short term to long term storage. And b) It is strongly beneficial for what is learned to leave the mind and come back into it on one way or another. This can happen by doing something with your hands, talking out loud about it to someone else, or note taking. This is important and without it details will be lost. I write in a condensed mind-map list like format for this reason. Likewise if I forget something or remember something wrong, I can go back with a ctrl+f and figure out what I did wrong.

4) Etymology is massively important when it comes to learning. The history of why the concept is called what it is called, as well as understanding why it was invented or how it was discovered. I try to visualize what the world was like before the thing I am learning existed and how things used to be done. This teaches me of it's power and when and why to use it. When etymology is done right, the mind will record the concept into spacial awareness which is the strongest and longest lasting kind of memory we have.

There is a lot I could say, but by understanding where people are coming from, you can apply what technique is ideal for that specific task. Learning is no different. One can master it, and from that the gains are innumerable.


I love #4 and is something I do all the time but never thought about it till reading your comment!


Really Insightful comment.

You seem to know a lot about doing rapid learning well.

Any recommendations on what to read if I want to understand more about how learning works ?


Unfortunately, I do not have a recommendation.

I learned everything about learning by reviewing my notes. I take notes in a condense and highly abstract format that is quick to write, yet simultaneously gives something close to a one-to-one map of my mind. This way when I review I can learn better ways to study.

How I learned my technique:

I do Data Science / Data Analytics. When it comes to programming a Data Scientist can get by not knowing how to write a function. Many are horrid coders, and that's okay because they specialize in research and analytics, not writing code. However, if a DS' day to day is writing code, and it's the most painful part of the day, then would my life be better if I knew how to program flawlessly?

In response to this question I took a job as a Software Engineer for a while, doing hard core C++14 at the time. (The company gave me the hardest project they had to incentivize me to go back to doing DS for them.) I had learned C many years ago but when it came to C++ I struggled with making a class. I struggled at knowing what the difference between a copy and a move was. I struggled with multiple inheritance. I struggled with smart pointers. I even struggled with reference collapsing rules. It was painful!

In response, I developed the learning technique mentioned above, and decided to learn C++ at an accelerated rate. I learned over 250 concepts in less than a half a year, while being productive in a code base, and not just 250 concepts, but I learned the etymology of every concept. I learned how, why, and when to use them. I became a master at C++ and now it is my favorite language. C++ was a great use of this learning technique, because when I learned something it would come up again maybe weeks or months later. I wanted to know C++ so well I never had to google for anything ever again.

Long story short, C++ is a great candidate for meta-learning. That's how I learned what I know.

Also, the article mentions how subjects cross domains. This is a key aspect of my learning too. Inspired by Hofstadter, isomorphisms between domains has been a hobby of mine too, and I find both Data Science and Discrete Mathematics to be useful when it comes to the study of intelligence and the study of communication. I highly recommend doing the same. It's not only fun, but it can change your life.


Hi OP I am wondering if you ever did the corsera course "Learning how to learn" and what your thoughts were on it and if the you consciously or unconsciously employed the methods described to help you learn new topics.


OP here, I haven't actually, but just looked it up and it looks like it talks more about test prep than the type of learning I talk about. Most of my coding skills come from self-learning things online the way I talked about it, at my own pace, without exams to reinforce that.

However, for test prep, through school and college I have read and tried a lot of guides on learning including simple index cards, the Leitner System (https://en.wikipedia.org/wiki/Leitner_system), coming up with mnemonics, transcribing content from a source medium to some other medium, the Feynman technique, etc.

What I learnt about myself was that any technique involving writing didn't work for me. I would never go back to read something I wrote. I hated writing. I often walked into lectures without a notebook and just listened instead. Don't memorize. Listen. Understand. I have friends who were brilliant "test takers" - which to me meant they could quickly memorize a lot just before an exam. That's something I'm bad at, so I took tests primarily based on what I'd understood over lectures, or follow up discussions I had with professors or classmates.

This also means I wouldn't practice math questions or work out physics problems before a test - I'd sorta just read over solved problems and make sure I understood them.

In retrospect, I actually think this isn't a great way to study for an exam and I always got very nervous just before a test because I feel grossly underprepared, but I saw passing them as a formality and usually just worked on other things I found fun (for instance, I built CSS Peek during finals week of sophomore year).


imho if you plan on taking the course, try to find a better solution to every idea they suggest. The ideas behind why learning is the way it is are valid and well researched, but their solutions, while valid, could be better.

If the course moved from a set of rules to a set of principles and a philosophy, imho the course would be more useful.

One of the few things that blew my mind in the course was how they interviewed someone who went around the world learning different languages at an accelerated rate. His method is to learn enough to ask questions, then he only spoke in that language slowly picking up the language the way a kid does.

Most of the class comes down to differentiating between a focused and diffused state (though it's really a spectrum) and how to get into each mental state and the benefits of doing so.

imho, if you want to accelerate learning, learn how to meditate. It will increase awareness and reduce distractions. Though this is a bit more advanced than the class' recommendation.


Range: Why Generalists Triumph in a Specialized World by David Epstein.


Instead of reading 'Learn You a Haskell', I would say go 'Haskell Programming From First Principle.


I agree with the BFS strategy but I’ve never gotten good enough at anything to gain the respect of an SME.


SME?


Subject-matter expert.

One critical way to become a better learner on a team (that is, a far less annoying learner) is to recognize when to ask a question of someone else and when to just Google/Portal/XPlore/etc it. Interactive mentors will be far more welcoming when they feel like you’ve earned the roadblock that you’re up against.


Great point! I've been called out for aggressively soliciting help


Subject Matter Expert, I think.


Subject matter expert


Subject Matter Expert


Work's firewall is coming up saying this site is malware :S


You can read it using a "focused reader" service like Outline: https://outline.com/cvHmpU


Most probably because I haven't been able to setup HTTPS yet. I just moved my site to svbtle today (https://svbtle.com) and I'm still waiting for them to help with that




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: