I’ve met a few developers over my career (citation needed).
People are infinitely varied and all that jazz, but I feel able to say with some confidence that most of the really, really good programmers I’ve known divide into two categories.
The first kind, who I’m going to call “Malcolms” after someone who scared the hell out of me as a graduate developer at my first tech job, find their niche and learn it inside out. Malcolms like to be the absolute biggest fish, and will find a pool small enough to ensure that happens. They might have written the book on their weird obscure language, or maybe contributed to some RFCs on crucial but boring topics. They generally like to use their knowledge as a weapon to make sure that everyone around them knows how very, very smart they are, a sort of technical “don’t you know who I am?” card that they can play if anyone dares question their words. This is not to disparage Malcolms – the world needs Malcolms, to cross-reference boring documents against each other and work out the kinks in language specs. They tend not to be fun at parties though.
The second kind are “Dans”, named after the very best programmer I know. Dans have no interest in being better than other people, they just want to know more than they did yesterday. Dans are fascinated by the knowledge they don’t have yet, and when a new topic catches their interest you may need to send a search party down into the obscure parts of the Internet if you want to see them again any time soon. I love working with Dans – they take some managing if you want them to maintain focus in any particular direction but they will come up with solutions that no one else could have conceived of, and just being near them means you’re learning all the time.
Which brings me to imposter syndrome.
Imposter syndrome is everywhere in tech. I certainly feel it, sometimes overpoweringly strongly, the little voice telling me that I don’t know anything, I can’t contribute to this team and EVERYONE IS GOING TO NOTICE!! More importantly, though, every time I’ve spoken with the Dans in my life about this they’ve admitted that they feel it too (being Dans, they don’t mind sharing this because they’re not benchmarking themselves against others, only their former selves). These are people who I and many others look up to, people who dazzle with their knowledge and skill and ability to pick up new things, and even they feel like they aren’t good enough.
I have a theory as to why.
Tech is a vast and complex field, growing vaster and more complex all the time driven by some sort of expanding galaxy of tinkerers pushing at the edges in all directions at once. We’re way, way past the event horizon on it being possible for any one person to even come close to being able to understand everything that is going on in our sector. I think imposter syndrome is the call of the void, the pull of all the knowledge that we know is out there but can’t see. We discount the bits we’ve already learned in the face of everything we don’t know, which allows us to be simultaneously talented and knowledgeable whilst feeling like we don’t know nearly enough.
And this is healthy. It’s a healthy reaction to be overwhelmed by how much there still is to learn – there’s so much of it. Imposter syndrome means you’re a Dan, not a Malcolm – you’ve chosen to treat the whole of tech as your patch and that means there will always be more that you don’t know than you can ever hope to learn. It’s scary, but it’s realistic. Perhaps we just need to reframe our thinking on this. Being aware of the boundaries of our knowledge doesn’t make us imposters, it makes us explorers. I’m going to start calling mine “Wonder Syndrome”, and allowing myself to be awed by how much I still have to learn, and then focusing in and carrying on with what I’m doing because although I may not reach the stars, I’ve come a long way up the mountain. I can learn these things, I can solve these problems, and I will.
And so will you.