I'm on my way back from PyCon 2019 and I wanted to share part of a conversation I had a few times while there.
My Background
For those of you that may not know me and my history, I want to give some context to the story below. I've been writing code for money for over thirty years, much of it doing embedded systems, frequently involving C++ and imaging.
I recently came back to a job I had done previously (long story). During my previous time at this company I had been half of the firmware architect team, designing a new direction for our camera firmware and starting the lengthy process of transitioning the codebase to that new architecture.
After several years in this position, I decided I needed a new challenge and left the company for greener fields. Things happen, as they do, and I ended up bouncing back into the same lab in a similar role after about 18 months.
The Story
You would think that with a bunch of experience that coming back to a familiar position into a codebase, much of which I architected, would be trivial, and, for most of the time it has been.
But this story is about the those times in the months after re-starting this job that I was struck with the thought, no, the fear, actually, that I didn't know what I was doing and that, to use the common phrase, I was an "impostor".
Now, I'll admit that in this situation, the feeling didn't last long and I was able to successfully go on with my transition. But it was a wake up call to me how prevalent and pernicious self-doubt can be.
I've been working more with beginning programmers recently and have heard of them talking about feeling like an impostor on a frequent basis, so this time when the feeling struck, I paid attention to it.
Why Am I Sharing This
I shared this story at Pycon with a friend (hi, Katrina!) that is square in a mid-life career change. While talking with her it dawned on me that we as a community can help each other by sharing.
Impostor syndrome is a real thing for her, just like it is for me. It makes it difficult to join in, to speak out, to push your ideas in a crowded world of smart people.
I wanted her to know that this feeling, while it's a normal, human reaction, isn't reality. We all can feel this, and I'm sure most of us do at one point or another.
In my view the key is to recognize that it's a valid feeling, but that not letting it prevent you from joining, speaking, and pushing through is what will get you to your goals.
So, if you're a seasoned developer, spend some time and effort thinking about this and what you can do to make life easier for new developers. Are your processes documented? Do you have an on-boarding process? Are you actively trying to be inclusive?
And if you're new developer, young or old, remember that this is just a normal reaction that is shared by all of us. The only difference between an experienced and inexperienced developer is how many mistakes they've made.
P.S. PyCon was super-cool and I'll happily rave about it if you're interested.