Dealing With Imposter Syndrome in the Software Development Field

Written by ayoub3bidi | Published 2023/09/04
Tech Story Tags: life-hacking | software-development | imposter-syndrome | developer-journey | junior-developer | managing-imposter-syndrome | software-engineering | developer-imposter-syndrome

TLDREven experienced developers know this feeling of inadequacy. How to overcome The impostor syndrome. Form a “peer group” with someone who is going through what you’re going through. Seek constructive criticism. Make sure you understand how your code works and why it’s structured.via the TL;DR App

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

  • Get With Someone Who’s Doing The Same Thing / Join a Community: Form a “peer group” with someone who is going through what you’re going through. It can be immensely helpful to be able to communicate your frustrations, failures, victories, or even just the day-to-day. You can listen and learn from what they’re going through.

  • Be curious: It’s okay to expose your ignorance. We all know it’s hard to appear ignorant in front of others (especially in front of your peers), but come on, swallow your pride, don’t take indirect routes, and just ask good questions.

  • Practice: Try to pick something you already know, let’s say React, for example, pick every resource you have about it and practice for a period of time. On the other hand, you should know that no one knows everything about React (even the people who created React itself), so it’s okay if you don’t know some things (those are not part of the basics, of course).

  • Make Decisions Consciously: When you’re writing code, make sure you understand how your code works and why it’s structured in the way that it is. It’s easy to fall into what I like to call “the braindead copy-paste trap” when you start copy-pasting code, following existing patterns, and “making it work” without thinking through your choices. Ask why it is built this way, why not…?

  • Be aware of the situation you’re in: Sometimes you find yourself in a situation when everything looks obscure, and you feel you’re not enough for the task they gave you, but try to think with this approach:

  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.

  • Give yourself the credit you deserve: The level you have reached is because of the effort, passion, and hard work you’ve put into becoming the developer you are today. Regardless of years of experience, there will always be people more experienced than you and more things you don’t know. That doesn’t mean you’re not where you’re supposed to be.

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.


Written by ayoub3bidi | Lifelong learner, Web and mobile development enthusiast, and co-organizer at GitHub's Tunisian Community.
Published by HackerNoon on 2023/09/04