There’s a ton of feeling in the developer community among new, so-called “junior” developers. It’s something that has come up in many of the mentoring sessions I have held with quite a few people who are new to coding or trying to get into the field. It’s a feeling that you will never be good enough, will never learn all the things you need to learn as a developer, and will never be as good a developer as many of the other devs around you. Many people call it “Imposter Syndrome”. I call it normal.
Imposter Syndrome hits almost all of us in the developer community. We look at the people around us. Whether it’s the people we work with or the people we see in the community on blogs, YouTube, Twitter, or wherever it might be, we see a ton of people who seem to know so much more than us. We compare ourselves to them. We do a personal inventory and we tell ourselves that we don’t measure up.
When that really hits us hard, we can feel like giving up and quitting. And far too many people give up early in their careers because of this feeling. And even when it doesn’t drive people to give up, it can often lead to long-term issues with a developer’s ability to function and interact with the team in an effective manner due to anxiety and fear.
How Do We Deal With It
It’s Not Just You
Inexperienced devs think it’s just them. But the truth is, those of us who have been around a while still feel that way. It’s not a feeling that ever leaves you. At various times throughout the day, you can go from admiring the genius of a particular piece of code one minute to wondering what the hell you were thinking about on a different piece of code 10 minutes later. Even the “brightest” of us have to GoogleBing things we could have easily done 6 months previously. Some senior devs will tell you they never feel that way. These people are either delusional or liars. In either case, best to avoid them and find someone else to learn from.
You’re Not Perfect
Hey, guess what? You’re not perfect. None of us are. We all do stupid things as much as we do smart things. That’s human nature. The better ones among us are the ones that recognize that fact and try to turn stupid things into learning experiences. The same goes for your code. You’re gonna write bad code. No matter how many years of experience you have, every one of us (except maybe Jon Skeet) is gonna write some absolute garbage at times. The difference between entry-level developers and senior-level developers is the frequency with which that garbage makes its way into our dev cycles.
Thankfully, as an industry, we’ve come up with some pretty amazing processes to help us learn from our mistakes. One great example is code reviews. Some people take the wrong view of code reviews. They see them as opportunities to bash on (or get bashed on by) others. This is entirely the wrong attitude. If you or anyone on your team sees code reviews that way, then you need to change that attitude immediately.
Code reviews are a prime opportunity for learning. There is no best way to accomplish any task in coding. Most languages provide a plethora of methods and processes, each with its own pros and cons. Code reviews are an ideal time to share and learn about different ways of doing things and everyone involved should view them in that light. If you don’t, you’re wasting everyone’s time and destroying your team dynamic.
Talk About It
Far too often as we’re struggling with Imposter Syndrome, we tend to feel like we’re alone. And we also don’t want to feel embarrassed. We think that if we publically acknowledge our struggle that other people will look down on us or think less of us.
The opposite is the truth. Yes, there will always be the occasional idiot coworker, but most of the time, your coworkers will struggle with many of the same issues you’re facing. And odds are they’re afraid to talk about it too. They say that “sharing is caring”. A lot of your coworkers will commiserate with your struggle. Talking about it can help share that mental burden.
And it needs to be said. Mental health is health. If you’re struggling, seek out a counselor or therapist and talk to them. It’s covered by most companies’ insurance, and it’s worth it if you’re struggling so much it’s affecting your career and your relationships. Don’t be the “tough guy”. Recognize when you need help and don’t be afraid to ask.
Know When To Say I Don’t Know
All too often we don’t know how to say they don’t know how to do something. Imposter Syndrome can often be a result of taking on work that you have no idea how to accomplish. We don’t want to look like we don’t know how to do our jobs. So if someone asks us to do something, we feel like we should know how to do it as part of our jobs.
It’s especially bad in the consulting space. We’re taught that you don’t ever say “I don’t know” to anything. But even in other dev spaces, should someone above us ask us to do something, we feel pressure to have a ready answer or we might suffer the consequences when it comes to annual review time.
It’s ok to say you need help. It’s ok to say you don’t know how to do something. Sure, take a little time to see if you can figure it out first. But don’t endlessly spin your wheels. If you can’t figure it out after a bit of effort, reach out for help. It’s ok. You’re not expected to know everything.
Get A Mentor
One of the best ways to tackle Imposter Syndrome is with education and knowledge. And the best way to get on-the-job knowledge is by learning from those who have gone before you. Find a mentor who is willing to teach you when you have questions. It’s especially important to make it someone who is willing to teach in a positive and encouraging manner and not someone who will make you feel bad for asking questions or not already knowing something. Sadly, some “mentors” only want to do it to show off how “smart” they are. Avoid these idiots. Find someone who will lift you up.
Imposter Syndrome is a part of our work lives. We will face it on a regular basis no matter how long we’ve been at it. Hopefully, as the years go by, you face a little bit less of it on a daily basis. But it never really goes away. That’s fine. Acknowledge it, embrace it, don’t be afraid of it, and learn from it. Then move on with your day. You’ve got stuff to get done.
As humans, we tend to focus on the negative. But you do a lot of great things too. Even as an entry-level developer, you will write some great stuff and you’ll get a lot of things right. Take the time to recognize your successes. I recommend that you set aside time every week, maybe even every day, to do a self-review. Think about what you did. Make a list, either physically or mentally, of the things you accomplished. Don’t dwell on anything you did wrong. Look for what you did right and congratulate yourself for your achievements.
This can be difficult to do, especially at first. It’s ingrained in us from childhood to focus on what we did wrong. But the more time and effort you put into recognizing your success, the easier it will become, and the more good you’ll realize that you do.
Imposter Syndrome is real, and it has a real effect on most of us. If nothing else, remember this: you’re not alone. The vast majority of us feel it, and feel it frequently, no matter how long we’ve been in the industry. Share that burden and you’ll all benefit.
Husband, father, gamer, developer, manager, writer, creative, blogger, model railroader, Buckeyes fan