Ask HN: Deal with feeling of not knowing anything well enough?

38 points by utopianmonk ↗ HN
I've spent 15 years in the tech industry, working with well-known tech companies and engaging in projects that I'm proud of. My main focus has been on creating reliable, widely-used distributed systems. However, I often feel like I lack in-depth knowledge. The challenges I face seem quite similar, like working with building blocks. My approach involves learning what's necessary to solve immediate issues and then moving on. I'm unsure how to reach the expertise level of industry leaders like Brenden Gregg and Jeff Dean.

It might be like having Impostor Syndrome. But I do believe I have some knowledge and can use it effectively, but there’s also a sense that I lack deep understanding.

How can I handle this situation? What steps can I take to achieve even just a small portion of their expertise?

29 comments

[ 4.1 ms ] story [ 95.5 ms ] thread
Keep at it. I think that it is often the case that the more you do know the more that you realise you are ignorant about. You may still be a world class expert!

So keep your mind open, keep reading, keep learning, keep practising your art.

I've just started a PhD after 30 years of start-ups etc, and I am aware that people's view of my skills is often much more positive than my own view of my skills. And I'm also spending time with other entrepreneurs who seem better than me in every dimension!

Keep humble, but keep going.

No one in life knows something well enough, it's just a matter of consistency.
I don't know who Brenden Gregg or Jeff Dean are, but a cursory look at their profiles I imagine the thread linking them together is they've set aside time to do deep thinking and research -- rather than the piecemeal approach of implementation whack-a-mole.

So in that vein:

1. Find a very narrow area where you would like to have in-depth knowledge

2. Read the seminal works in that area (could be academic papers, could be blog-posts, could be even code)

3. Go for a long walk, and mull about it for a bit.

4. See if you can add something, no matter how little, to the area

5. ???

6. Rinse repeat

---

Big question is whether that's something you're internally motivated by, or externally. The fruits of that sort of labor are mostly internal; and very few people have the stamina to continually do this, unless it personally fulfills them.

> Find a very narrow area where you would like to have in-depth knowledge

This is always where I get stuck. I see something, and say “hey this looks interesting” maybe I should invest in this”. But I always worry that I’ll over invest in it at the cost of other more general, but “useful” things.

The world has space for specialists and generalists, for good reason. So ideally you have a mix of breadth and some very specific depth.

If we could see the future accurately we wouldn't need careers advice or HN!

Part of this is that you need to take a punt or three, but probably try to ensure they are interesting and enjoyable, since you are more likely to stick at them.

“(…) probably try to ensure they are interesting and enjoyable, since you are more likely to stick at them.”

I agree. This comment reminded me of PG’s latest essay, where he writes about this. I can gladly recommend this text.

http://paulgraham.com/greatwork.html

This isn't me giving advice since you're probably more experienced than me. My perspective and belief, however, is that you gain in-depth knowledge by going down layers of abstraction. Instead of using an RDBMS, write a database from scratch. Instead of making a game in Unity, make it with OpenGL or D3D11. Write a 6502 or 8086 emulator. Write a toy operating system. And so on.

I find that when I do these types of projects, I very quickly figure out where the holes in my knowledge are. That gives me a direction on what to learn next, and the motivation to actually learn it and apply it in practice. It feels much more efficient than just picking up a textbook and trying to learn that way.

The logical analogue here is writing blog posts. It forces you to crystallize your knowledge in a way you thought you understood but didn't.
Maybe consider a role 'following the money'? Perhaps your skills are even stronger than Gregg/Dean in either explaining/solutioning/selling/deploying the tech to solve your customer's problems.
Make peace with not being an extreme outlier, because hardly anyone is, by definition.
As an aside on this, you don't need to be an outlier to be a local superstar. Just get a combination of skills that is unique, and you'll rise to the "fixer" position amongst your acquaintances pretty quickly.

E.g., there are lots of plumbers around, but the number of plumbers who also know how to build a website is much lower, and the number of web-site building plumbers who are also trained in law and registered to perform marriages in Ohio is vanishingly small.

Something I've really enjoyed about software dev is it really is a super power to your users. Just hearing "Wow I didn't know I needed this" is very satisfying.
It sounds like you're comparing yourself to other people, and feeling that something is lacking. It also sounds like you have a fairly successful career.

Why do you want to be an industry leader? Ego? Dissatisfaction with the similarity of your work?

I think “industry leaders” in most cases are more or less interchangeable with many of their peers, they just had similar skill/expertise while also enjoying a significant level of basic good fortune. They also tend to have far less influence than they’d like to admit. They are subject to the same circumstances and trends as anyone, and true iconoclasts who can boast success are vanishingly rare.
> My approach involves learning what's necessary to solve immediate issues and then moving on.

When you move on do you crystallize your learnings like in a document or a chat with other people? Does it give you an idea of where to go next?

First, you absolutely know more than you think. Human beings branch out in adulthood and it is impossible to compare your knowledge to others. In contrast to being in middle school and measuring your knowledge in universal scores in all "subjects" taken by everyone. You are not confident enough because there is no universal score like in middle school. When you have to work, or meet with someone with the same area as yours, you will feel confident. I am sure that happens.

Second, it's an unfair world. Some people have more time to put into stuff to think deeply and do work that don't directly, instantly lead to real-world impact. (There is one gentleman per neighborhood who "knows deeply" about French Revolution or Civil War, or so they think) I am sure Jeff Dean doesn't have a manager breathing down his neck. Have you tried going deep into something, and writing about it? Like Julia Evans' blogs on DNS? Why don't you try something like that? You mention Jeff, do you work in ML? Have you tried publishing research? It doesn't have to be NeurIPS or ICLR. Why not a small, independent paper in arXiv?

And, also, highly recommend a group of similarly motivated people for a study group. Because "deep knowledge" doesn't directly turn into product-being-admired-by-many-people, you might get bored while reading a 500 pager. A group helps the most.

I don't know if this will help you or not, but more than anything the skill that has helped me develop expertise within my field is learning to ask really good questions and listening thoughtfully to the responses.

It can feel risky because there's vulnerability in asking a question! But if you use a little flattery (vs. trying to hedge by sneaking in your own answer), people will share enthusiastically. When you get in the habit of gathering viewpoints from everyone by constantly asking questions, your perspective and wisdom grows deeper and deeper.

See Richard Feynman's autobiography for a version of this strategy.

This is such a seemingly simple notion, it borders on the obvious when stated, but I think folks who put forth an honest effort to apply it in practice tend to discover that it’s far more powerful than its surface level reading. It was surprising to me how little I actually engaged with what others were contributing until I made a genuine effort to do so. It generally requires several other deceptively simple traits that can/should be cultivated—traits such as humility, an understanding of how to make/receive constructive criticism, how to apply that feedback productively, and an overall willingness to allow others to reshape your own endeavors.

In my own experience I learned that in almost every case where I sought the participation of others and relinquished some of my control my work was objectively improved across the board—the final product seemed much more mature, robust, and I was introduced to a lot of blind spots that allowed me to learn and grow, which in turn helps improve future efforts. My personal philosophy now simply asserts that in most scenarios I only stand to gain with the involvement of more (and more diverse) voices.

More to the OP’s original point, I believe that accepting one’s own limits, and freely admitting when a task or project may test/exceed them, is one of the components to this same general humility. It’s empowering to be able to nourish your curiosity and push your limits. Involving others who can support that effort expands your possibilities and while providing additional protection against failures. All of this is healthy, just generally, but such collaboration can also help define where you stand among your peers, identify potential gaps in your knowledge/abilities, reassure yourself that your contributions are meaningful, and shape the path to further growth. The same is true for everyone involved, and you can lend your own strengths to their development in-kind. Concerns for how you’re perceived by others should center around how you engaged with the process and helped foster progress, the results of which should speak for themselves in the long run.

TLDR; I diverged a bit from the parent comment. Lots of people are smart, and skilled people are interchangeable with other skilled people. Being generous, sincere, and supportive however can make you indispensable. However, all of these traits require cultivating and training, whether it’s technical knowledge or listening with empathy.

> the expertise level of industry leaders

Comparing yourself to others?

Yea, that's not going to end well. Instead compare yourself to yourself in the past.

I used to tell people this: "I suck at everything I do. I suck big time. But I suck less than everyone around me, so I'm the guy who solves the problems".

If you are the guy who solves the problems, than that's the barometer by which to judge yourself. You are not an impostor.

And if you are the problem solver, then it's great if you suck. It's a sign that things are ok with you.

Because if you know in depth everything you work with it means you are not pushing your own boundaries. You are playing it safe, well within your comfort zone. It's ok to stay in the safe zone for a little while, but don't do it for long.

The majority of the workers out there get to that safe zone after a few years of experience, and then stay there. Don't be one of them. Push yourself, keep becoming better, and keep the comp raises coming.

Navigating the tech industry's vastness can be overwhelming. Consider focusing on a niche within distributed systems that truly interests you. Deepening your understanding through online courses or workshops could help you bridge the knowledge gap.

Remember, expertise is a journey, not an instant achievement. Embrace the learning process and gradually you'll find yourself gaining more in-depth insights.

Impostor Syndrome is common; you're not alone on this path.

(comment deleted)
Maybe it’s too much focus on work and not enough relaxation or vacation to let new ideas flow in?

You could be the best at x task but there are only 5 positions in the middle of nowhere that require it so why spend time on it?

Otherwise, audit your time in 15min increments for one week, reduce entertainment, and get enough sleep/exercise/etc. Use a dumb phone.

I’m not sure if you’re in a mid life crisis or pre-retirement one. I sat down then wrote a 1, 2, 5, 10, 20 year hypothetical plan and realized I needed to change it all because of the retirement date as well as value for spending my time doing it all.

But why do you need to handle this situation? If you're already happy with your job and they are with you, who cares?

It sounds more like you want to work on getting rid of imposter syndrome. Just realise nobody really knows what they're doing because there are no absolutes.

I can majorly relate and can say you're not alone. As for providing helpful suggestions, sorry, I'm fresh out as I'm struggling myself.