There is, quite literally, an infinite number of things to learn in software development. Somehow, that infinite list of things to learn manages to get longer and longer every time I look at it to the point where I no longer keep a list.
Four years ago, in my first software job, I had a handle on that list:
- Design basics.
Those were the things I sucked at. Those were the things I needed to get better at. Those were the things I was going to learn about. ...and so I did.
Little did I know that this was the first step towards suffering from Imposter Syndrome.
Imposter Syndrome occurs when a single software developer believes, with justification or not, that their knowledge is inferior to the knowledge of their peers.
They feel like an 'imposter' at work because they believe that their knowledge of software development practices is not up to scratch and that this reflects poorly on them.
This brings me on to my most important statement:
Imposter Syndrome is bullshit.
It is simply the moment in one's career where the time required to learn everything on your list of things to learn is vastly greater than the time available, compounded by the fact that everyone else appears to have all the time in the world to learn everything. (Protip: They do not.)
It is a social construct with the sole purpose of making software developers hate themselves for not knowing everything. But nobody knows everything!
Nobody and everybody is an imposter.
That developer who's younger than you but seems to know everything doesn't have your experience.
That developer who totally understands Docker and has drafted a proposal to use it at work doesn't understand the first thing about functional programming.
That developer who contributes to open source in their spare time doesn't have a baby to look after.
So you're an experienced programmer with functional programming skills who has a deep understanding of OOP principles and is raising a child?
Sounds like you're a pretty good person!
My point is this:
Learning new tech is fun. It's not all there is.
Imposter Syndrome only exists because as developers we put such a high importance on our abilty to store huge amounts of raw knowledge and we've developed social constructs to make those with less of it feel bad despite the fact that they have plenty to contribute.
You don't know everything. That is OK. You're great anyway.