Ask HN: How to get rid of impostor syndrome?
After working on too many projects in totally different domains, using different languages, how can one get rid of the feeling as if all these years' efforts are nothing more than illusion?
I feel as if the only thing I know is how to pick up any new stuff fast, but ultimately it's not gonna last.
70 comments
[ 5.3 ms ] story [ 137 ms ] threadIn reality, the solution is to work on your fears of failure, of looking ignorant, or of being a fraud.
To be clear, you always can (and hopefully will) be discovered ignorant. It happens often as you grow as a person. You should learn to tolerate that fear and see it as normal and human, rather than something to try to destroy with extra education.
You can also learn social skills that make those inevitable situations (where you fail or are wrong) easier to deal with. If you're intellectually humble and listen to your peers' ideas, you can share in the "blame" for the defeat.
The crux of that philosophy is that you should only worry about things that are in your control. Most things in life aren't such as the made up comparisons of you vs other people.
The other solution that helped me is just to get good at one thing (for me it was keyboard optimizations). So I have at least something I can say I am better than probably anyone.
I started my career working in C++, Ruby on Rails and Sybase in Investment Banking. Then moved to Telecom and it was Python, C++, Javascript, Oracle, and MongoDB. Few years later I'm working on Cloud (AWS, Azure, Golang and .NET Core). Again after few more years it's Golang, C++, Image Processing, machine Learning, ReactJS and AWS.
In a span of 6 odd years having to learn all this, it's been taking toll on me as I didn't know where I was going with all this. Hence the feeling of being lost :-)
BUT, now that you know (intellectually) that it's a normal mental illusion, it can be disregarded. This doesn't make it stop happening, any more than knowing about the blind spot makes it stop being a blind spot. But, you know not to listen to it, like you know that something disappearing in your blind spot doesn't really mean it's not there.
In fact, I now use it as a metric of whether or not I'm learning enough new tech, or if I'm staying with what I'm comfortable in too much (which is a path towards obsolescence when you're a programmer). When I get feelings that I recognize as Imposter Syndrome, I know (intellectually) that it means I'm working on new knowledge, and that's a good thing. It doesn't make the feelings go away; learning more about the new thing will eventually help with that (temporarily). But intellectually I know I've worked on enough projects to not be an imposter, more or less by definition, and I know that the feelings of "I don't know what I'm doing maybe I'm not cut out for this" are normal, and not an accurate guide to whether or not I am able to do this. They are, of course, an indication that I need to keep working on learning whatever the new thing is.
Trust in the fact that whatever state you're in now, you'll be in the other one soon enough.
Trust that this is true for everyone.
With mastery and experience comes faith -- that is, an attitude of trust that permits unfettered action -- in the fact that the oscillation will continue. There is not any guarantee that you'll always be a space-god and never a dog; just the promise that you'll always come back to the other state from whichever one you're in.
Get deep expertise in one or more fundamental domains where knowledge doesn't age out fast. Things like performance analysis, security, etc. that apply regardless of what language or framework you're working in. All that "useless" stuff taught in college that some HNers like to look down on turns out not to be so useless after all since they underlie everything about how software and computers work and evolve slowly. And if diving deeper into tech areas is not your thing, fundamentals in other areas like business, leadership, etc. also are timeless and valuable tools if you make the effort to add them to your toolbox.
If you don't want to feel like an impostor, get to a point where it's demonstrable, even to yourself, that you aren't. Sure, there's always someone better out there but there's always someone not better too and with effort, you can make sure that there are more of the latter.
If you know you will not be able to answer some things when asked about them - then you know you lack a specific piece of knowledge. That is not impostor syndrome.
Ultimately, you have to look at the specifics and some objective criteria. What are your achievements? How does your understanding and skills compare to you peers? Be careful not to get fooled by bullshitters who just pretend to know by using lots of fancy buzzwords in random sequence. You can only tell this through deeper technical conversations.
There's a lot of feel-good answers out there that boil down to "oh, nobody has any idea what they are doing anyway, everyone is just winging it" etc. This is not true. Through conscious effort you can master and build strong mental models of technical systems and processes. It's entirely possible to feel confident in one's expert knowledge of a field after many years of experience. It doesn't mean you feel invincible, and much of this kind of knowledge is indeed about your own gaps of knowledge but also knowledge of pitfalls and illusions of easy answers and knowing when you're entering unexplored but enticing territory that feels simple to beginners, but you expect it to be extremely complex as an expert, etc.
Keep on learning and studying. If you feel embarrassed that you don't understand a particular thing and this bothers you, take some time and dive into it. In my experience there is no better cure than to realize that everything in tech can be understood. It's all logical from the highest part of the stack down to the lowest electronics level. Once you gain enough experience and have a rough mental map of this whole territory, you will know that there's a lot of details you could learn if needed, but not everything is worth knowing for your own case. Apply an engineering approach to this as well. You have a limited lifetime and no single person can know everything. That's the constraint. Now pick out the actually important parts and discard those that aren't necessary for your development. And feel comfortable that you will pick up whatever is needed along the way.
It's a similar case with general personal confidence. There are people who exude this level of confidence which in effect says "Whatever happens to me, I will take care of it. If I'm dropped into a foreign land tomorrow, I know I will rebuild my life. If my house burns down, I'll recover. If I'm thrown into prison, I'll figure out how things work there and will adapt. I don't know what will happen tomorrow, but I'm prepared."
In tech, you can also not know exactly what you will have to learn in the coming years, it will never be like I've now learned everything, from now on I'll just apply it. The best you can do is have a good overall mental overview of the kinds of things that exist and be able to zoom in on any of it when needed.
But what matters is also are you providing value? Increasingly value is more in inter-personal, teamwork and collaboration, rather than conjuring up magic codes nobody else can relate to.
There are simply no objective metrics. Software development is not bridge building or an engineering practice. Evidence is how everything is in flux and nothing is ever truly settled. At the same time any old code can be extremely low cost, valuable and maintainable, regardless of the code itself!
> Increasingly value is more in inter-personal, teamwork and collaboration, rather than conjuring up magic codes nobody else can relate to.
The problem is, this is exactly the area where bullshitters can do well. I do think that office politics and social strategy is the most lucrative one (e.g. winning allies, getting credit and recognition and visibility, generally buzzing and being in the center of attention), but I don't think it connects much to impostor issues. You may be winning at the social game while still feeling like an impostor.
The converse also happen, where you know enough to overestimate your knowledge of the thing.
https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
Like, I still feel terrible in the moment, but the knowledge that this feeling will pass makes it bearable.
... actually, now that I think about it, the act of documenting my mistakes might be unusual. I keep a brief daily log of my activities, including stuff like time spent reading documentation or source diving for understanding. That helps my days with fewer (zero) contributions to the project still feel productive. Maybe that could help?
Now I look at the cloud computing space where there's hundreds of components, overlapping functionality, and nothing that easily helps me to determine what things are important to know, flash-in-the-pan fads, or long term career building skills.
But it's the same in other domains as well. There's too much Entertainment to hope to discover everything you might be interested in, there's expansion in social communication...and my monkey brain is hyperventilating over it as the things that made me feel valued (that I could take pictures, edit video, write software) have been commoditized so that my skillset isn't necessarily as spiffy as it used to be.
If I understand correctly, "impostor syndrome" is a term coined by ivy league university psych counsellors. It does not apply to the workplace. It refers to ivy league freshmen not thinking of themselves as geniuses and/or mistakenly believing you have to be a genius to be admitted to the ivy league.
That doesn't seem to be your problem though. It seems more like you feel that you're not learning anything permanently. That seems unlikely but... maybe it's true? Maybe your job is all about pointless details of framework X which you then promptly forget again.
It's like I have accumulated too many shiny stuff, but the real gold is missing/hidden.
happily hiding in the backend :-p
Bringing fresh, but worldly, eyes to existing project can help see solutions to problems that are similar to solutions in other domains that weren't apparent to those on the project long term.
It's possible people are lying to you of course, but that's pretty unusual and you'd probably see other red flags to indicate things are just not right at your job. In normal companies with normal people, you should be able to use your colleagues as good measuring sticks to whether or not you're an imposter.
Being a newbie at anything is natural at any stage in life. Is environment supportive of that?
(edit: actually it is impossible to dance with an impostor syndrome, so there you go).
2.only >lacanian< psychoanalysis. most useless kind of psychoanalysis.
If you feel totally and completely lost still, consider therapy if it’s an option. If you have some sort of stigma against therapy, you need to throw it away. Just talking through what bothers you with a professional could help.
There are of course experts, but usually their expertise is constrained to fairly narrow niches.
Best of luck!
One of the nicest things about learning, is powering through the "Jon Snow Trough," and becoming a lot more confident. We often give up, at that point, and that's a tragedy.
One of the things that I always need to accept, is that there's probably some kid in a Hanoi Internet cafe, that can totally smoke my best, but that's OK. Maybe, one day, I'll benefit from her contributions. In the meantime, I just keep doing the best I can, with what I have.
I believe most of imposter syndrome is self-inflicted and other people's view of you is likely higher than your view of yourself. It's separate from self-esteem. Self-doubt has a way of creeping in and really making you feel like your contributions are not worthwhile.
Take breaks throughout the day and start with the assumption that you're not an imposter and focus on doing your job and being a valuable member of your team without focusing on the "accomplishments" of others.