DEV Community

Cover image for How I Manage Impostor Syndrome, Fear of Failure, and Other Common Programmer Problems
Vitor Paladini
Vitor Paladini

Posted on • Edited on • Originally published at paladini.dev

How I Manage Impostor Syndrome, Fear of Failure, and Other Common Programmer Problems

Sometimes your own bugs are much harder to fix.

One thing that I noticed after all those years in the industry is that mastering the tech is only half of the battle. You know, being fluent in JavaScript isn't worth much if you are paralyzed by fear of failure and never step out of your programming cave.

However, some other thing I also realized is that with a little bit of work and self-reflection you can handle the inner side of programming just like you handle your codebase.

You just need to approach these issues like optimization opportunities instead of bugs to fix once and for all.

So let's talk about how to deal with those kinds of issues.

Check out this neat table of contents:


Impostor syndrome πŸ˜₯

I had plenty of episodes of impostor syndrome in my career, the biggest one was when I accepted my first leadership position at a big payment company.

See, I had some tech lead experience under my shoulders already but never at a big company, my previous leadership role was more a matter of necessity than hierarchy. And to make things worse, a was a complete newbie in the payment industry.

So, for the first time ever, I was a tech lead among other tech leads, and all of them looked so much smarter and capable than me. I'll tell you, my friend, I felt like a fraud.

"What the hell am I even doing here?" was a common thought.

Fortunately, during that time, I found a few pieces of advice that helped me shake off that feeling. Nowadays, whenever insecurity strikes, I make a conscient effort to remind myself of these tips, it helps a lot.

Here they are:

The people that hired you are not stupid. Seriously, they would not have hired you if they didn't think you were capable of doing the job. Hiring good people is literally their job description. They probably even picked you among a handful of other very good people. You're good.

You're not a manipulative mastermind. Fooling people is hard work. Your coworkers are aware of your flaws, it's okay. They are also full of them and can be more supportive than you imagine.

Help people. Helping people instantly stave off impostor feelings. By being helpful you are able to see instantly how what you know can make people's life easier. It is a very rewarding feeling.

Use social media wisely. It is a petty feeling, but nothing triggers my impostor syndrome so much like scrolling through twenty tweets of people doing an amazing job in this industry. It makes me feel like "how can they even do all of it?".

One thing that helps (other than quitting Twitter for a couple of hours) is following people that are still learning and can benefit from your insights.

What I'm trying to say here is, by all means, follow the masters, but also follow some newbies.

Not being the smartest person in the room is actually a very good thing. Try to see the knowledge gap between you and your peers not as a flaw but as learning potential. We all learn from each others experience and it is a privilege to work with people that can teach you a lot.

Know what you don't know. Sometimes the impostor syndrome hits and it feels like you don't know shit. When it happens, try and make a realistic list of everything you should learn to stop feeling like an impostor and compare it with everything that you know already.

This exercise gives you clarity and, even if you still feel like an impostor, you'll find a new focus to learn what you should learn.


Dealing with failure πŸ‘Ž

I hate failing.

Not up to a point of stopping me from embarking on new, bold endeavors but, truth be told, failing fucking sucks.

I see a lot of advice around the internet like "you should love to fail, yadda-yadda" but, let's be honest for a moment, if it didn't hurt when you failed it means you didn't put enough effort.

You'd need to be an ultimate-zen-monk-master-of-emotional-intelligence to not feel bad after giving your absolute best and failing. It's natural, feel free to hate failing, hate it with passion. 😑

But learn to love feedback and the lessons that each failure teaches you. 😌

Be humble and accept your responsibility for the failure. This is the first step, the only way to learn from your failures is to own your mistakes and find a way to prevent them in the future.

However…

You can do everything right and still fail. You can be the perfect candidate, master all the algorithms, and ace the whiteboard interview, only for the company to hire a friend of the CTO. Life is an unpredictable crazy ride that's far from fair. Understanding it makes some failures easier to swallow.

Understand that every failure teaches you something. Give yourself some time to think about a failure. Try to write down what you could've done differently. Heck, write a damn incident report about your failure as a blog post, sharing what you learned through failure is a big act of generosity.

Failing is better than "what if-ing". I've failed quite a lot during these years and I can say that the pain of failing fades much quicker than the bitter taste of "I should have at least tried it...".


Comparing yourself to others πŸ‘€

This one is a cousin of impostor syndrome and a bad habit I'm particularly guilty of.

There are a lot of brilliant, talented people in this industry and I'm grateful for their contributions. Prolific programmers make my life so much easier!

Sometimes, however, it gets hard to shake off the "this person is 10 years younger and much more successful than I'll ever be" feeling.

Whenever I feel that way I try to remind myself of a few things:

Am I doing my best to make progress without harming my mental health? Every person has their own limit. Working 80 hour weeks while maintaining 16 open source repositories might make a person's career skyrocket, but at what cost?

It is much better to make consistent progress at a slower rate than wreck your health trying to maintain a rhythm that is not your own.

Hard work pays off, but luck plays a huge role. And I'm not the one saying it. Here's a very interesting article from Scientific American on the matter.

Try remembering that next time you find yourself comparing your work to another person's. You'll never be able to know for certain because–sorry for being repetitive here–life is an unpredictable crazy ride, but it could have been luck. Plain simple luck.

Everyone has their own set of personal challenges and privileges. One final reason to put you back on track when this kind of thought pops in: it is a whole different race for everyone. No other person had the same start nor has the same finish line. Stay focused on your lane and strive for greatness at your own speed.


"There's too much to learn" πŸ˜«πŸ“š

I was lucky to start working exactly when Flash was being discontinued on the web and jQuery was rising to stardom.

I consider myself so lucky because I was able to witness the state of front-end development becoming increasingly more complex while I was an active member of this industry. So I had the privilege to learn new stuff as they were coming up.

That being said, if I saw a roadmap of "How to become a front-end developer" as a beginner nowadays I'd feel scared, overwhelmed, and consider a career as a long-haul driver. I mean it!

But here are some words of encouragement my fellow beginner, for there is no other way than the way of knowledge!

Seriously, there is no other way. You have to be okay with the fact that you'll be studying your whole life. Such is the blessing and curse of the programmer.

Things change, new languages and frameworks are created every year, you don't have to learn everything but it is very important to stay curious and find joy in learning new nerdy programming stuff.

Learn how to learn. You have a lot on your plate, mate, so be sure to make good use of your study time. There are plenty of tools to help you so, a nice one is called the VARK Questionnaire and helps you identify how you learn better.

Personally, I like watching hour-long introductions to new tools before moving to articles, docs, and tutorials. And only then I move to the more practical stuff.

Pick a path. Try to learn everything and you'll suck at a lot of stuff. One of the best things I did career-wise was to give up on being a mediocre full-stack developer and focus on being a really good front-end engineer.

Narrowing down your focus reduces the amount of stuff you need to learn and gives you time to really develop a skill. Just be sure to pick a path that's viable and have enough job openings.

Apply what you learn. Cramming a bunch of theory with no practice is a surefire way to burn-out. Try tinkering with the stuff you just learned. See if that library works as nice as it's docs says.

Break stuff! You're the sole responsible for your learning, so make it fun!

Start with the basics. I'm ending with the most important one. Even if you have a lot to learn and are in a hurry, learning the basics will make your journey much smoother.

If you're starting as a front-end developer, give yourself plenty of time to learning the basics of HTML, CSS, JS, and how browsers work before moving into harder stuff like React and bundlers.

The same applies to other areas. You can't build a strong house without well-laid foundations!


Conclusion

Aaand that's a wrap. I covered every single one of my learnings about these classic problems.

If you just scrolled to the conclusion, here's a quick summary:

  • Being an actual impostor is hard and you're probably doing fine.
  • It is ok to feel bad about failure as long as you learn (and teach!) from it.
  • People’s stories are different and comparing yourself to them is a bit dumb.
  • Yes, there is a lot to learn. Pick an area and try to improve consistently.

And as a final takeaway. Don't worry about fixing any of these issues, they come and go.

Instead, use your energy to learn how to deal with them and you'll make your career a more enjoyable race to run.

Please let me know your thoughts on this article, share your tips in the comments!

I still have a lot to learn and will certainly publish an updated edition of this article in the future. So stay tuned and follow me on Twitter for takes on front-end, career, soft-skills, and the occasional shitpost.

Oh, and if you found this article genuinely helpful, please share it with your friends and peers. πŸ˜„


Photo by Max van den Oetelaar on Unsplash


Hey, let's connect πŸ‘‹

Follow me on Twitter and let me know you liked this article!

And if you really liked it, make sure to share it with your friends, that'll help me a lot πŸ˜„

Top comments (19)

Collapse
 
loiscodes profile image
Lois Harris

Comparing yourself to other people's progress is the one for me. It can be silly to do it but it's helped me to stop being so critical. There was a colleague who was wicked smart, everyone said it and knew it. He made mistakes like wiping all our customers data. Lucky we recovered it and nothing was lost. That moment (and others) made me realize that no matter how good, knowledgeable, and clever I am, I'm still bound by human error. I'm not perfect and I have be proud that I'm smart enough to figure it out

Collapse
 
vtrpldn profile image
Vitor Paladini

Exactly. Sometimes we put people on pedestals, especially during our junior years.

I'm not perfect and I have be proud that I'm smart enough to figure it out

Also loved that take :)

Collapse
 
rtivital profile image
Vitaly Rtishchev

Everybody seems to get crazy with Impostor syndrome but if you look at different angle you will see that it is actually a good thing. From my experience, it pushes you towards learning new stuff and makes you more prepared to deal with everchanging industry where it's "learn or leave". So if you are trying to avoid this hard feeling – don't, it will fo away eventually and leave you with good knowledge base.

Collapse
 
vtrpldn profile image
Vitor Paladini

Yeah, I agree that that is a positive aspect to it.

However, I think it is more a matter of finding balance than welcoming it with open arms. It is good to be humble and be aware of all the thing that you don't know, but worrying too much about being an impostor can be a massive source of anxiety.

Collapse
 
leob profile image
leob • Edited

Is it weird that I've never ever had any of these doubts? Guess I'm just a more matter-of-fact and "it is what it is" person, I just do what I need to do in the best way possible and don't give it a lot of thought.

Which is not to say that I'm not aware that there's a thousand times more things that I DON'T know than things that I DO know - I simply tend to look more at the bright side, looking at the things I'm good at instead of the things I suck at.

Collapse
 
vtrpldn profile image
Vitor Paladini • Edited

I don't think that's weird. I'd say that it is uncommon but in a good way. I make an effort to stay pragmatic but sometimes those kinds of thoughts just pop in.

Collapse
 
jupinheiro profile image
Julia Pinheiro

Loved the article! :)
I can share that the "help people" tip has been an eye-opener for me. People frequently advise about getting mentors and sponsors, but having a mentee is as important. At first, every time a coworker asked me a technical question, I was flooded with insecurities about my answers. But since they kept asking for my inputs, eventually, I realized that I might know what I'm doing after all!
In the end, we shouldn't be so hard on ourselves. Overcoming the Impostor Syndrome is an everyday process!

Collapse
 
vtrpldn profile image
Vitor Paladini

Thanks, Julia! It is a daily process indeed.

People say that you've only truly learned something when you are able to teach it well, and there is no better test this assumption than with a mentee. πŸ™‚

Collapse
 
rtivital profile image
Vitaly Rtishchev

About failure – can you provide some of your failure examples? I'm interested where Frontend engineer can fail nowadays. Your points are more likely related to business/startup as there is no such thing as failure at code – it can require more polishing or bug fixing.

Collapse
 
vtrpldn profile image
Vitor Paladini • Edited

Great question, here are my favorite failures:

  • Not being hired by booking.com in 2017 after getting to the 3rd of 4 steps
  • Failing to properly manage my team during my first quarter at that big payment company I mentioned in the article
  • All the "I'll blog consistently this time" moments I had for years before finally achieving consistency

So, yeah, those failures are not really code related. I guess that frontend engineer fails whenever an expected outcome isn't reached, maybe it is a new job, success in a side-project, or mastering a certain tool.

Collapse
 
vtrpldn profile image
Vitor Paladini

Thanks, Jordan! Comparing myself with others is what I struggle the most with as well. I agree that there is a strong link to ambition and wanting more from all the hard work we do every day.

If you are in your position because you weaseled your way in, you're an impostor.
Everyone else should shed any feelings of the sort!

That's a great way to approach the problem. Being insecure might make it a little harder to think like that but I like the straightforwardness!

Collapse
 
habbi profile image
Hrefna HelgadΓ³ttir (Habbi)

I love "help people" as a way to keep imposter syndrome at bay. Thanks for sharing.

Collapse
 
vtrpldn profile image
Vitor Paladini

Glad I could help πŸ˜„

Collapse
 
tomekpryjma profile image
Tomek Pryjma

What a brilliant article this is! Thanks for taking the time to write it.
I will definitely find myself coming back to it.

Collapse
 
vtrpldn profile image
Vitor Paladini

Thanks for the feedback, Tomek! πŸ˜„

It warms my heart to know that some of my experience is useful to other people. That's what keeps me going.

Collapse
 
kaisermann profile image
Christian Kaisermann

Paladini, you're like a mirror. So relatable.

Collapse
 
vtrpldn profile image
Vitor Paladini

πŸ‘πŸ‘„πŸ‘

Collapse
 
ovahsen profile image
Olivia Vahsen πŸ₯‘ πŸ¦„

Love the focus on learning how to learn and finding how you learn best, as a starting point. This is super insightful and reads like an empowering conversation. Great job!

Collapse
 
vtrpldn profile image
Vitor Paladini

reads like an empowering conversation.

That's the tone I try to follow! Thanks for noticing, your feedback made me really happy πŸ˜„πŸ˜„πŸ˜„