Whether you’ve just begun your journey to learn how to code or you’ve been paid to code for many years, you can and (likely) will face imposter syndrome.

Unlike any other field, the nature of software development is fast-paced, fluid, and always in flux. It’s what makes building software so challenging, interesting, and fun. But that also means that you’re constantly faced with things you don’t know.

Unfortunately, there’s no easy way around this. Even experienced developers know this feeling of inadequacy. But, we will try to understand this and give some ideas to comfort you and give you the push to overcome this obstacle.

Things ALWAYS take longer than you thought.

When you watch tutorials, you might have the impression that “good” developers work super fast. But more often than not, these developers have built the application already before. They have run into most issues before and know how to overcome them.

Everyone is ALWAYS Googling.

Even experienced devs can’t remember loads of stuff. You don’t use everything on a daily basis. So you forget things. And sometimes, it just doesn’t stick even if you Google it over and over again.

Everyone is Struggling with “useless” problems.

Even with years of experience, you’ll have a sufficient number of face-palm moments. You might work on something for days only to find out that you are using the wrong package or the wrong tool, and it’s okay.

Seek Constructive Criticism

Programmers should be receptive to constructive criticism. And, if no one gives criticism, they should seek input from their senior coworkers on what they could have done better.

No one is ready.

If you think that you will be ready, I would like to give this fact: in life, you will not be ready 100%. Of course, we all study/learn/practice programming, but no one will ever be ready for every situation, so make that fact comfort you a little about the reality you’re in

How to overcome The impostor syndrome

  1. I will break down this feature into small pieces and try to do them one by one.

  2. I work hard and care about the quality of the code I produce, so I will do what it takes to make that happen.

  3. I will do what can be done. If I’m stuck, I will take a deep breath and try a different approach. If nothing works, I will ask for help.

  4. I always give my updates on the feature, always clear and always cool.

Conclusion

Hopefully, these examples were enough to convince you that (most) developers are only humans. Take your time, use your time wisely, and let time give you the experience.

Sources:


Also published here.