DEV Community

Discussion on: How do you handle lack of self-confidence and career-numbing doubt?

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

In any field where the complexities grow to be greater than anyone's single brain can handle, the feeling of being inadequate is normal, real and expected. Nobody knows everything or even 10% of what there is to know. Programming and computer science are endless fields of knowledge that you could study all your life and feel ignorant the entire time. Ther is always a sea of things you don't know and don't understand.

I have a few suggestions and views that help me deal with all of this:

  • 100% confidence is impossible. If you were 100% confident, you'd be 100% misguided and unaware. The fact that you have insecurities is not only normal, is good.
  • Focus your learning on only a very few things at the time. If you try to learn everything at once you'll get burned out and depressed. It is far better to methodically focus with a clear goal.
  • Don't measure yourself against others. Even after having spent most of my life coding, I still see what others did and think "wow, I can't do that." Remember that most software is built by more than one person, collaborating with others. It is also built on top of libraries, operating systems, frameworks, etc. If you look at what somebody else is doing and don't understand it, that's healthy and expected. You will never get to a point where you look at other people's work and think you can do it all. You'll always feel like you wouldn't know how to do it.
  • Measure yourself against yourself only. When you can do things that you couldn't do before, notice it and give yourself credit.
  • When your manager or other co-workers tell you that you are doing well, that's how they see it. They believe it. It is similar to how you feel about other people that you think are doing well. They might be insecure, but you recognize their brilliance the same way your manager and co-workers recognize it in you.
  • When you have doubts, share your doubts and ask for advice, especially from people that you trust and respect.
  • Software development is teamwork. Ask questions to people that you respect, and try to get behind their way of thinking. Doing so, you'll add tools to your toolbox, and you will start using them in different situations.
  • If you feel tired all the time, unexcited about things you used to like, uninterested in learning new things, unmotivated, or if you don't find joy in things you used to like, you might be experiencing the symptoms of depression. Therapy, medications, consistent sleep patterns, eating healthy, exercising, etc.. are wonderful tools that you shouldn't shy away from using. Look at them as career-boosting tools (and more).
  • Join a team that is compatible with your level of seniority. It is good to have senior developers around to help you but is also good to not feeling like everybody else is way ahead of you all the time. It can get depressing. Try to find the right team, and find a solid mentor that can help you progress and learn. Mentors are a shortcut to confidence.
  • Find a team with a boss that cares about your growth, and about you as a person. Somebody that is there for you, and is supportive. It makes all the difference.
  • Every company is VERY different. If you only had one programming job, you might have been in a bad environment, or at least bad for you. Changing environment is a good thing. You might find that in a different company you'll feel totally different.