On this page
Feel like a fraud? It's more common than you think!
What is imposter syndrome?
A psychological phenomenon variously characterised as feeling like you've only achieved what you have due to luck, a belief that one is a fraud merely pretending to be skilled or knowledgeable, or the continual doubt of your own talents and abilities even in the face of accomplishment, imposter syndrome comes down to feeling like we're not as smart, as wise or as capable as other people seem to think we are.
In some ways the opposite of the Dunning-Kruger effect in which highly confident individuals tend to overestimate their ability to do something, those of us prone to imposter syndrome may experience guilt, anxiety and fear that we're going to majorly screw up.
So we feel like the eponymous imposter, fraudster, pretender, charlatan, swindler, whatever. No one else is calling us these names, but it's what we think when a colleague asks our opinion, or we give a talk/presentation, or even just deal with the minutiae of our day to day job.
Imposter syndrome doesn't have to be a constant state. Perhaps you're confident in yourself some of the time and get these feelings outside a certain comfort zone, even though you remain inside the sphere of your knowledge and ability.
If you've ever felt this way, the good news is it's far more common than you think (particularly in the IT industry) - and there are ways to cope with it.
My own experiences as an imposter
On the home page of this blog, I wrote "my primary area of expertise and interest is web development" and I have to confess, I actually wrangled over my use of the word expertise before I published it. Should I describe myself as an expert? I'm still not sure. In fairness to my trembling sense of self identity, part of this is just because I'm minded to believe expert is a bit like entrepreneur; it's a judgement other people make about you rather than a title one confers upon themself.
Another struggle I have with it is that not only is IT a vast field, not only is the sub-field of software development also a vast field, even the sub-sub-field of web development is a damned big field. New technologies, new tools, frameworks, popular trends, architectures, cloud services etcetera are emerging all the time and with the best will in the world coupled with zero sleep and the absence of any other responsibilities, you still wouldn't be able to keep on top of everything.
Yes, I'm an expert in web development, I still don't have any in-depth (or maybe even working) knowledge of Vue.js, or Ruby on Rails, or SuperDuperZebraFramework, or whatever thing is en vogue this week that cool startup has just decided to switch all their dev to use.
Of course not knowing everything doesn't mean I'm not an expert, but it does mean if someone's talking enthusiastically about something I don't know, or asking my opinion on it, or bringing it up in a meeting, it's easy for me to feel stupid. This happens because I feel I should know literally everything in the world to do with the web, even though I remain fully aware this is an irrational and impossible expectation.
Why does this happen?
One thing I'm definitely not an expert in is psychology, so I don't have all the answers here but one thing I did find interesting is that apparently intelligent high achievers are more likely to doubt themselves, so if you suffer from these imposter feelings let that be a well-deserved boost to your self-esteem. "Get out the way, I know what I'm doing better than you, for I'm an expert!" - that's the guy you've got to watch out for, the one all the research says is all the more likely to get something wrong.
In respect of myself, I think part of it is that although I am originally, way-back self-taught as a developer from a childhood, hobbyist interest in all things computer, the majority of what I know today has been learned from solving problems on the job. Both experience and absorbing the knowledge and learnings of others around me over the years - and working as part of a team a lot of the time - has embedded this idea in my psyche that I'm only as strong as the people I work with.
This is probably a good thing in some respects, but I think it also leads me to underestimate, doubt and downplay my own role and contribution when I work on something. I know I'm evidently capable of accomplishing a great many things dev-wise just on my own merit (and maybe the occasional reference to Stack Overflow). I also know I've given what has ended up being demonstrably good, solid advice to people I've worked with over the years which has achieved some objective.
Still, it can be hard to shake that feeling that I don't deserve the perception of anyone else as a source of knowledge or experience, because I'm still always learning new things and gaining more experience myself.
I think it also took me a long time to learn to trust my own opinions (while always at least trying to keep myself open to changing them in light of new learning) and to accept that someone else can also be knowledgeable and experienced and I can still legitimately disagree with them. These days I believe in myself on that one a bit more - spending time on the internet, where everyone's an expert if you're asking them, has actually helped me trust myself more, since I've come to realise there are far more people out there falsely painting themselves as fountains of wisdom than there are the genuine articles. It's a lot easier to claim you have or could climb Mount Everest than to put on some boots.
What can you do to overcome self-doubt and feelings of fakery?
I still get these feelings, definitely less frequently and less bothersomely than I used to, but it still happens. I try to remind of myself of things like:
- My employers past and present have always been happy with my performance and what I've achieved for them. I should trust these external benchmarks as a more reliable measure of what I do than my feelings of self-doubt.
- It's totally okay to not know everything. There are, for example, more acronyms in IT than any other industry (save perhaps medicine?), is it really a big deal if I'm in a meeting and don't know WTF QNXRPNC means? I can just ask, no one's going to hold it against me or think I'm an idiot.
- It's not important whether I know SuperDuperZebraFramework or not right now. If you need me to know it, I understand the technologies and principles these technologies are built on more than adequately that I can go away and pick it up. If you need me to evaluate a new tech, framework, product, whatever, I may not have the necessary view to give you any informed opinion immediately but I'm damned sure I can go and find out.
- Computers and software are very complex. They weren't entirely built from rocks and ore by one person in a day. The whole frigging internet works on a principle that you can use it to go and look up information when you need to. It's important to keep some information in your head, but you don't need to remember the entire 18,000 class and function library of a programming language or library to be able to proficiently work with it. That's what intelligent IDEs, manuals and documentation are for, it's okay to forget small details as long as you know what you need to look up.
- There isn't a god-damn programmer in the world who wouldn't be lost without Stack Overflow.
- It's okay to make mistakes, provided you are willing to learn from them. Goodness knows I've made more than a few in my time. A few mistakes do not undo or detract from many successes.
If you struggle with feelings of imposter syndrome, you are neither alone nor incapable. You do not have to cope alone. Reach out, seek support, remind yourself feelings and perception are not the facts of who you are.
Be kind to yourself, because you deserve it 😀️
All comments are pre-moderated and will not be published until approval.
Moderation policy: no abuse, no spam, no problem.
Why type hinting an array as a parameter or return type is an anti-pattern and should be avoided.
Leveraging the power of JSON and RDBMS for a combined SQL/NoSQL approach.
Musings from a Reddit thread
Life with a newborn baby aka why I sometimes go long periods of time without making any new posts.
Maximise performance with load once scripts, kept in long-running memory