DEV Community

Cover image for How Do You Handle Self-Doubt in Coding?
Ben Halpern for CodeNewbie

Posted on

How Do You Handle Self-Doubt in Coding?

Imposter syndrome is common among developers. How do you deal with self-doubt and feelings of inadequacy when coding? What advice would you give to others facing similar challenges?

Follow the CodeNewbie Org and #codenewbie for more discussions and online camaraderie!

Image by Freepik

Top comments (9)

nitya profile image
Nitya Narasimhan, Ph.D • Edited

This discussion caught my eye - strangely enough I still deal with impostor syndrome after 25+ years in tech in all roles from research to engineering to advocacy. But I've gotten more comfortable with it by having a 3-step process:

  1. Don't compare myself - the easiest trap is to look at people in your community or your team or your environment, and think "they are so good - I am terrible". The problem is that no two journeys are alike and comparisons become pitfalls. Reminding myself that this is my journey allows me to focus only on the improvement over my past self, and not with others.

  2. Write and share what I learn - I can't tell you how many times I will undervalue my role or contributions and underestimate my capability when I look at my work in real time. It's only when I look back on past projects that I realize "wow that was a lot of work - how did I even get that done!". By creating content (blog posts, or even a tweet that has a short video or image) I create a trail of memories where I can revisit times when I thought "I can't do this" and then fast-forward to see the point where "wait, I just did this". After a while, you start believing in your ability to persist.

  3. Find people and projects that spark joy - No one has impostor syndrome when they are genuinely immersed (and in flow state) in a project. At that point, you really don't care what others think or ask if you are capable of something - you just dive in. Because the experience of that journey far outweighs your fears. My example here is every time i pair-program or brainstorm ideas with my 14yo and we go exploring tools or codebases together. The real armor against impostor syndrome is The joy of discovery and learning - if your brain is busy doing things, it has no time to second guess itself.

ben profile image
Ben Halpern

Great response

ben profile image
Ben Halpern

I look to develop a relationship between tough days and challenges, and improvements. I really feel like the times where I'm figuratively banging my head against a wall with a challenge are the days I come out the other side with a lot of new knowledge and wisdom.

adiatiayu profile image
Ayu Adiati • Edited

I usually look back to my previous projects and notes. It reminds me of how far I go. This, too, shall pass 😄

Also, talking to friends in the community help me a lot to get the support I need to lift myself up and pushing through 💙

chantal profile image

That's so true @adiatiayu .

kendalmintcode profile image
Rob Kendal {{☕}}

As @adiatiayu said, looking back on previous jobs or projects can help you to see how far you've come and give you some perspective.

Sometimes it's just part of the process too and you need to give yourself a break. As an example, when you start a new job at a new company you're always going to be on the back foot. You might be the best developer in the world, but here, you're a new developer that suddenly has to make new relationships, learn the company policies, workflows, how their projects are coded, how they pin together...It can be overwhelming and make you feel inadequate.

But, just remember you've gone through it before, you'll get through it again. It's not a process that can be rushed and it just takes time. You were hired for a reason and have a lot of skills under your belt.

Oddly, keeping track of what you don't know can help you too by tackling some of the imposter syndrome which comes from lack of knowledge. For example, if you have some gaps around React and how it renders, don't just ignore that and hope it'll go away — address it! Read the docs, do a course, make notes, quiz yourself.

jburky15 profile image
Joe Burkhart • Edited

What pushed me through it was just being honest with myself. I step back every week, usually on Sundays, and I reflect on the code I wrote that week. I don't correct anything, I don't write anything new, I just read back through what I did, analyze it and look at the small improvements I have made. It seems kind of silly at first, but when you think about it, you're your own biggest (and probably only) critic when you start out.

The other big thing, for me at least, was getting feedback from others. I personally have a couple of friends who are software engineers and web developers and I hated the idea of them seeing my code at first. I was afraid of the judgement from people who have been doing it for so long. But once you get down to it, everyone starts somewhere and most people who have been doing it for a long time have gone into code reviews with people who are early in their career and understand the struggles and the common issues.

The thing that I see a lot of people getting hung up on is getting stuck or not knowing something that they feel like they should already understand. You might have an idea of what you need to do, but you can't quite get to the desired end result. This is why people end up in tutorial hell. They want to do a project, but they see the scale and get nervous and back out or they start to do it, get stuck and end up finding a tutorial that guides them step-by-step to the exact end result they want. It's okay to Google things, it's okay to go on to see how someone else did it, it's okay to ask Stackoverflow (if you are so bold to do this) and it's okay to look up a YouTube video on how to do 1 specific thing in your project that you might be stuck on, like better understanding a certain hook in React or route handling in Flask. No one will ever judge you for that because we all do it. The first step is to get away from the full tutorials that hold your hand and just get to coding.

Your confidence will soar when you finally finish your first personal project, no matter how big or small it is, because you know now that you are capable of doing this. And if for some reason you are still struggling with feeling like you don't belong, join a community, join a discord, share your progress. Other people are in your exact position and it helps to see others in the struggle and lift each other up out of it.

peterwitham profile image
Peter Witham

For me, I've learned to tell myself that every time I have hit self doubt and all that comes with it, I have come through the other side eventually and to just keep going. And to also know that there are communities out there like that will help me get through and rebuild that confidence.

I feel I still hit this at least once a week (usually when I open the live stream LOL).

rlgino profile image
Gino Luraschi

Hello, it's an interesting discussion, I think the best to avoid this thinking is believe that you achive your job for your own merit, it wasn't luck, you fight and learned every day, then you know about you're doing, always there will be somebody better than us, the most important thing is that you can know that you want to improve every day 😊