Ask HN: How do people become experts?
I've tried the deep dive thing a few times and always come out frustrated. It seems like the important stuff that differentiates the expert from someone with casual knowledge isn't documented. Sometimes it's explained by the knowledge being locked behind a paywall or IP protection of some sort. Sometimes its not, but the knowledge seems to be locked in the brains of a few individuals or organizations and can only be unlocked if your'e lucky enough for them to take you in (employment at a company that specializes in something, or having a mentor type relationship with another expert). On the other hand, a minority of the experts I know are nearly completely self taught and I'm struggling to figure out how to manage. Generally as a hobbysit Like I said every time I've tried to deep dive I reach a point where I'm not sure what I'm missing, where to find it.
58 comments
[ 3.6 ms ] story [ 117 ms ] threadI would use the analogy that just because a woman can have a baby in 9 months, 9 women cannot have a baby in 1 month. You must spend 9 months to have a baby. So to be an expert at anything, it takes years of practice, errors, lessons learned, experiences to fully grasp a topic as an expert.
> always come out frustrated
You can't stop there.
Yes, a lot of expert knowledge is locked up in the heads of experts. It is very hard (if not impossible) to write down all the implicit and explicit knowledge that experts have, so it doesn't always happen. It's very hard to become an expert alone. I think this also says something about the nature of expertise: it is something that is constructed by experts themselves in their minds. There was a story that a famous mathematician would tell is grad students, holding up an important book, "You should know everything in this book ... but don't read it!"
Passion is something different. The latter term is often mis-used for the first, but what you are describing is enduring enthusiasm.
At least one person on my work team thinks I'm really smart and amazing, but I don't feel like I'm an expert in anything I do.
I would say that an expert knows how to put together knowledge in a certain area of expertise and can quickly judge whether something is plausible and implausible. An expert can identify problems and potential solutions.
I don't think being frustrated or feeling some level of imposter syndrome makes you not an expert.
Find Q&A sites that talk about the think you're trying to become expert in and try to answer as many questions as you can. You don't have to actually answer the questions -- those sites are often hellscapes.
Though I do not have the citations, I am sure others here could relate many examples.
I agree though, expertise comes from trying all the configurations in a space and learning which work and which don't. After a while you start to see the patterns.
He phrased it "If you aren't breaking something, you're not doing anything."
A thousand years ago, anyone could have invented relatively basic math - but they didn't. The reason is that they didn't have other people to inspire and motivate and teach them.
Very little knowledge comes ab initio or from a vacuum. Expertise is not created by working in isolation for decades. To build expertise, you need to be interacting with other experts. This doesn't mean they need to teach you, nor does it mean they need to be be in person. But you have to be at least reading what they write.
It's much easier to reach the clouds if you stand on the shoulders of giants.
> Generally as a [hobbyist] ...
It sounds as though you expect that reading or doing something once will confer expert status. Instead, try to think of it more like a lifestyle.
If you study something every day for ten years — constantly trying out new ideas to test the limits of the field and your understanding, and teaching others how to get started to develop a deeper intuition and understanding of the basics — you will most definitely be an expert at the end of those ten years.
At no point will you necessarily _feel_ like an expert; that's just a label people give to those who live/breathe/dream a topic deeply for many years.
It isn't documented because it can't. The difference between an expert and a novice is that an expert has been exposed to and working with a particular subject for so long that there are higher level abstractions that have become "chunked" or "codified" in their mind such that they look at the problem differently than novice people.
Example
`for(int i = 0; i <= list.length; i++) { ... }`
A novice will see this and after parsing the pieces can tell you that this takes a counter i and does an action until i is the length of the list.
A more experienced person will see this as a for loop iterating through a list.
An even more experienced person may intuitively map this to the need of the program to operate on a list data structure and begin to immediately start asking why we didn't use a more functional approach, what effect will this have on the program when my list has 0 items, is there a way I can simplfy this code? Etc
The expert knows this not because he has read it in a book or because he followed design docs, he knows because he has practiced 10,000 hours, which includes doing something evaluating what went well, what did not, what could be improved, looking for new knowledge and new ways to do things.
In contrast too the man who has practiced 1 hours 10,000 times that has mindlessly written this block of code and continues to repeat this abstraction because this is his go to and familiar tool.
Im not saying maps and other functional paradigms are hard to understand, just that is more complicated than a for loop and confuses people far more.
This simplicity of a for loop is worth far far more than the saving of 2-3 lines of code and some abstract idea of elegance.
What the experts know is the things that aren't documented. Some of those are things that are hard to document, because the right thing to do requires situational knowledge, others are things that experts don't realize aren't obvious.
The way to become an expert isn't solely by reading documentation, it's by trying to do the thing, and figuring out what works (and hopefully why). For software, that often means diving into the source code, as well as the source code of the environment the code runs in (and sometimes that environment, etc --- prefer less layers and simpler systems, because it's easy to dive down to the bottom)
The sharply refined ability to learn, internalize and execute knowledge work looks like expertise to everyone.
In my mind there are two types of expertise: learning something that exists or making something new.
I've always done the second: find an opportunity to do something new, deep dive on it and figure it out, and then you are the expert by default. Then it's just a matter of keeping up on the state of the art while everyone else starts doing what you're doing but does it better than you.
By leveraging your academic credentials, legal authority and social connections to promote an agenda (e.g. corporate agenda) through carefully crafted lies which intelligent people in your field cannot easily disprove but which the masses will openly embrace because it aligns with their primal incentives.
It's about being able to bypass people's logic and reasoning skills and appealing to their underlying primal instincts; namely their need to feel safe, to feel accepted, to acquire resources, etc...
The main role of experts is to give people a false sense of certainty and safety.
Everyone I've known who has mastered something simply has done it a million times, observed what they did right and wrong, corrected it, and leveled up each time.
It also depends on who you ask. Some people have a different mental model of the meaning of words or the values attached to them. It can be as simple as: "the person that I ask stuff from and always has the answer" or as complex as "this person doesn't just read, repeat or know the theory or know the abstract theory but is even beyond that".
How do _you_ become an expert? It depends. What do you think an expert should be? Find that, then find where you are and the gap between that and where you need to be and start working on it. An expert at walking your own dog has a different route than say, an expert at silicon substrate doping.
Since we are on Hacker News, we could take being an expert at Linux Device Drivers as a subject. You'd be able to read and test and expand as much as you'd like until you become the expert you desire to be. Examples, documents and sources are all available. It does require base knowledge to build on; i.e. building software, writing and reading C, the specifics of the kernel, the specifics of the kernel build system. At some point if you know how to create and build a module that is a driver, you'd be a beginner and you can start becoming advanced by perhaps expanding on your knowledge by nibbling at the borders of the subject; the build system itself, the configuration system, the hardware underpinnings for drivers. Next you might become interested in memory maps and CPU architectures. At some point you can understand end-to-end how a click of a button translates into an event. You'd be advanced. Now take all of those concepts and things you're reading and the parts you've designed. That is a single subjects within borders. When you go beyond that, i.e. design the theories that define it you're an expert. Not only can you build and work with it, understand its context and modify it at will, but you can re-define and create it based on your own expert knowledge and abstract theory behind the concepts and implementations.
You can also make it much smaller than that. I.e. become an expert at folding t-shirts. Still means you need to know about folding, fabrics, speed vs. quality, quantity vs. quality (are you folding t-shirts for yourself or for a warehouse? is it manual or automated?). Once you know how to define what folding means and how it is affected and how it affects its context (i.e. what happens to the fibers? and what if it's dirty, or new? or when it has been washed 10 times? what about 100?) you could pretty much call yourself a t-shirt folding expert. This is still big, but a lot smaller than a software example.
2. Start learning about it and doing stuff with this knowledge. Intermittently look for new information about this thing.
3. Keep on working with this thing. Find ways to use it whenever possible, even if it is not perhaps the most efficient tool for the job at hand.
4. Make mistakes with this thing. Make some little ones, make big ones. Whenever you make mistakes try to ask yourself how to make sure you never make this mistake again. ("Making mistakes" is not a thing you try to do; it is a thing you will do. They can be small. Or they can be stressful and complicated and expensive and scarring. An expert will probably have a few of the latter under their belt, unless they were very lucky and only had a few really, really close calls.)
5. Keep working with the thing. Can you figure out a way to get a multi-year project with the thing going? Do you still fundamentally enjoy working with the thing when you are at the stage when you can do this - and when you are finished with that multi-year project, as well? Can you find a way to work under or with someone who is great with the thing? They'll teach you a lot of stuff that doesn't make it into books, as well as call your attention to really fundamental stuff that you've been blowing off like "kid, the way you hold your tool is gonna fuck your hands up in five years, start doing it this way if you want to be able to keep doing this for the rest of your life, here's some exercises to get used to it". (Seriously: I am an artist and I did not get instructed in How To Properly Hold A Drawing Tool until I was in the animation industry.)
6. Hang out somewhere people ask questions about the thing. Answer them. Answer the heck out of the questions you see allllll the time and are tired of answering and make key expansion shortcuts for them. Play around with the rare, interesting questions and answer them in the most novice-friendly way you can. If you know five ways to solve a novice's question about the thing, then go into some detail on all of these ways and talk about which one you would probably reach for if it came up in practice, and about why that's your choice.
7. Keep on doing the thing. Lots of little projects? Big long projects? Maybe both. It's easier to experiment in the little projects but the big ones are important too.
----
There is a character in Zelazny's Chronicles of Amber who is The Absolute Best General And Swordsman In The Entirety Of Reality. He wasn't born that way. Nobody is. But over many centuries of life, he studied and practiced every day. Every day, for hundreds of years, he spent some time studying the great battles of old, practicing his swordsmanship, playing wargames, engaging in actual military campaigns from every level from top to bottom. He has been doing this longer than everyone else alive, and thus, he is an expert.
You do not need to go to this extreme. You probably can't unless you turn out to be an immortal who can hop between alternate realities to see how various changes effect the ultimate outcome of a huge project over multiple trials. But you need to keep coming back to the thing you will become an expert in.
You can't just do one "deep dive" and become an expert. You have to live with the thing, you have to spend time working with it, time just kicking back thinking about the thing, you have to spend time catching up on the latest news about the thing, you have to internalize some of the thing so that the back of your mind just prompts you with little warnings based on something you fucked up ten years ago. You have to dive to the bottom and stay there.
And you will need to sacrifice some other shit on the altar of this expertise. There's only so many hours in the day, and only so many days in your life.
I don’t think anyone can read their way to expertise. There’s no secret technique or knowledge hidden behind paywalls.
Rather than thinking about “becoming an expert” reframe it as “mastering a skill or domain.” No on is an expert, that’s a shorthand to describe someone who achieved mastery or deep understanding through deliberate practice.
Anyone who tries to convince you that your should pay for advice on "how to become an expert" has expertise at only one thing: lying.
PS: I can teach you how to be an expert at spotting liars. For 5 dollars I'll tell you the secret.
Behind paywall 1: First lesson - don't pay for lessons on expertise. For 5 more dollars, I'll let you read chapter 2
Behind paywall 2: You are almost there! So close! You should be getting familiar with the trick by now. There was a secret lesson in part one. I'll tell the secret behind the trick for just 5 more dollars.
Behind paywall 3: Fool me once, shame on you. Fool me twice, shame on me. Fool me three times, and now we are here! Wanna know how I fooled you three times? Only 5 more dollars!
Now you are 15 dollars into spending 5 dollars on how to spot a liar. Just 5 more dollars!
Once you figure out the trick, you can consider yourself an expert.