An issue that many software developers are plagued with throughout their career is doubting their abilities and feeling like a fraud. This concept is referred to as imposter syndrome. Imposter syndrome is common with many professionals in various industries.
I believe that part of the reason developers have this is due to how quickly they seem to get promoted. On average a developer is considered to be Sr level after an average of just 5 years of experience due to market demands. Some reach this earlier depending on the company and time they have put in to honing their craft.
The imposter syndrome can be seen as a developers biggest benefit or their greatest weakness depending on the situation. One way it can be seen as a benefit is because developers who have this seem to constantly be open to learning due to the fear of always being behind the curve. The way it can be viewed as a weakness is if it limits developers from interviewing for new roles due to not satisfying 100% of the requirements or wants on an application. This would also play a role during negotiations where a developer may not feel worthy of their pay and afraid to ask for what the market has deemed that they are worth.
If you have imposter syndrome currently or when you do get it because everyone goes through it, I want you to know that more likely than not YOU are good enough to be where you are and deserve to be paid what you are paid. I have seen rockstar Sr level developers who seem to be born with awesome coding ability and I have seen others who are still learning REST. Many of you reading this post probably assume REST to be a very elementary fundamental concept. However that same Sr level developer may be very strong with Visual Basic or COBAL and could code circles around us in that domain. Both of us are considered Sr developers and I am pretty sure both of us can get up to speed in a new domain pretty quickly. I think the most important thing for all of us is to be able to acknowledge our weaknesses and constantly be open to growing and learning new things.