Letting people know you don't know something isn't easy but it's better in the long run.
As the amount of people entering the tech industry grows, so does the competition. A heightened atmosphere of competition brings with it a growing sense of insecurity for developers, and guess who doesn't like to show they don't know something that others do; Insecure people.
'Imposter Syndrome' is the feeling that you do not belong in a particular environment and that one day, you are going to be exposed for the fraud that you are before being ejected from your profession with your reputation in tatters.
You might suffer from this all too common affliction, feeling like everyone else in your team has a firmer grasp of a particular technology or codebase. I know I have felt like this in the past. I studied Music and Drama at university, not computer science, and so when thrown into a team of people who did go to school for CS, it's easy to feel like an imposter.
For software developers in particular, one of the most dangerous aspects of Imposter Syndrome is its ability to deter you from ever asking questions.
Well, you may be nodding along, but that certainly doesn't mean that you understand. This is often the starting point of a lot of anxiety for developers.
I'm the only one who doesn't understand. I can't let anyone know that I'm clueless!
It's impossible at that moment to know for sure, but chances are you are not the only developer in the room scratching their head. What is for sure though is that you can let slip that you don't understand. In fact, you ought to.
It's perfectly ok to say that you don't know something. People with Imposter Syndrome think it's a bad idea, but actually, admitting you don't know something and asking for someone to explain it has some real benefits:
- You identify gaps in your knowledge.
- Knowing which gaps you have, you can plug them.
- You grow as a developer
- Somebody else gets to reinforce their knowledge through teaching.
- You and the team are more confident and competent.
But won't I be judged for not knowing Framework X?
Honestly? I don't know. Neither can you truly know what people think when you admit to not having expertise in a particular area. One thing I do find in this situation is that the way people react serves as a fantastic barometer for understanding the attitudes of people in your company.
If people judge instantly, it's a sure sign that there is a culture problem. I'll admit, it's difficult to give advice on how to deal with this dilemma because I don't have a huge amount of experience of dealing with judgemental, egotistical tech people. The one place I worked at where this happened to me, I found my current day-job and everyone there is understanding and happy to help. So I count myself quite lucky.
So I guess if you find yourself in the above situation, maybe you have some soul-searching to do to know if you are in the right place. That doesn't mean all is lost. You might find that actually asking for guidance appeals to the ego of some more judgemental people. At the very least, you will learn something, and hey, it might propel you towards a better job with friendlier people like it did for me.
What I do find however is that most people respect you more for admitting that you don't know something. Even more so when you actually ask for help.
I've worked with developers who didn't put their hand up when the time was right; the crucial stage at the beginning of a project where roles are being assigned and you have that opportunity to say 'this is new to me, I will need a little help getting started.'
A month down the line, they hadn't delivered, and they were so swallowed up by their need to hide their inexperience in a particular area that they became a liability. This is where things become actually damaging to them. It damages the team, it damages the project and damages your professional reputation.
Maybe you couldn't quite believe you won the role you're in, or maybe you find yourself on a particularly strong team that looks from the outside to be a bustling hive of 'uber-programmers' that can do anything.
Appearences are deceiving. Its extremely likely that if you have been programming for at least a year that you have experience in a certain area that the lead developer on your team has none in. You just don't get the opportunity to use it at work.
The answer to this might be to actually take the opportunity to lead on a project so that you can bring in some new ideas based on areas that you have expertise in. If you think for example, 'nobody here has ever done anything with Angular but I know it really well,' maybe you have an opportunity to become a mentor to more experienced developers by leading a prototype in that framework on your next project.
That said, be careful, based on the above example, if Angular didn't suit the project, don't pitch it just because you know it better than everyone else. That can be a recipe for disaster and even being able to evaluate which technologies are best suited to a project is a skill in it's own right.
It's easier said than done to be open about your weaker areas when you are new at a company and looking to make a good first impression. Imposter Syndrome is at it's most previlant in this early stage of your tenure at your new company and it is tempting to nod along and pretend you know what everyone is talking about.
But think about the first impression you give for your first deliverable. When you deliver something of low quality because you scraped by pretending to know what you were doing, you've delivered the very poor impression you were looking to avoid.
I like to think that I can tell when someone is pretending to understand something they don't. It's awkward and it's hard to use the phrase 'does that make sense?' too many times because you don't want to appear arrogant or patronising. But I personally always have respect for people who say that it doesn't make sense to them when it doesn't.
I know that person is going to improve.
I know that person cares about their own personal development as a programmer.
I know that person cares about the quality of their code and I know the one day that person will be mentoring someone else in the very subject at which they are today a novice.
To anyone who might be suffering from the debilitating Imposter Syndrome all too common in the tech industry, please take solace in knowing that nobody can know everything. It doesn't mean you don't deserve a seat at the table.
Take your seat. You're welcome here.