I quit my first (programming) job almost two months ago after realizing that I was extremely burned out and wasn't really getting any work done. I thought to travel and take time off from anything tech-related for three months, recuperate, learn some new stuff and then start applying for jobs again.
However, looking back on how little I've grown and accomplished in the 2+ years at my old job, I have zero confidence in my skills (if I have any) and myself. (My three managers said that I was good at the things I did, but I've never felt that way.) This has in turn sapped my willpower to try to learn.
I guess my lack of confidence is holding me back, but I don't know how to break free of it. Each time I try and fail, I look at my past failures and conclude that programming is not for me.
How do/did you deal with issues of self-confidence and doubt?
Oldest comments (17)
Just want to say that I applaud your bravery and transparency in posting this. This seems like Imposter Syndrome. Did you see this article?
Overcoming Imposter Syndrome
Points of note on the cycle of Imposter Syndrome from the article
Realize that in this very young field, we are all making it up as we go along. There is also an inordinate amount of concepts to learn in the beginning. You don't have to (and in fact can't) know everything up front or code perfectly. Free yourself from thinking like that.
Look for people in whom you find mutual support and encouragement, and make them a regular part of your life.
Thanks for the kind words and the article, Kasey. I'd read about Imposter Syndrome when I started out in tech, but it never crossed my mind again, nor did I think that I'd have it (always thought I wasn't working as hard as the others).
I'm trying to recalibrate my expectations of myself, and try to do this as a marathon and not a sprint.
Echoing what @kspeakman said because this does sound like imposter syndrome, especially if you were receiving positive feedback from managers.
For me, issues of self-confidence and doubt stem beyond programming so I've been dealing with these issues by going to therapy, which I highly recommend for everyone.
I've also tried M D Burns' 'Feeling Good' handbook after seeing many recommendations on Reddit for it - would recommend it as a good read into reshaping or neutralizing negative thought processes.
Software development is incredibly complex, and nobody knows the whole language, the whole system, the whole API, the whole codebase. EVEN IF THEY WROTE IT THEMSELVES. It's just complex.
When people talk about software development confidently, they really are only talking about the sliver they understand. And if they're smart, they'll know it really is only a sliver.
I still feel nervous talking about software in any capacity IRL because there is so much I don't know. SO MUCH and it feels like everyone else knows more. Logically I know I know a lot but I'm still not great at the terms. I am bad with CS concepts, git, patterns, and lots of other stuff. It's really hard to define what I'm good at. I know I'm good at stuff, but I still can't even describe what I'm good at.
I'm more comfortable than ever with my doubts because I've come far enough that I can look back at a year ago, two years ago, etc. and see a lot of progress. It's really hard to see any if you don't zoom out.
But this stuff ain't easy and a lot of people make it look easy. But it isn't. Your feelings are totally normal, and it gets better.
In a year, two years, three years, or so, you'll probably feel more comfortable. For now, try to imagine yourself exuding the average confidence you will have over the next decade in this field and some of the feelings you're having now are going to be offset in the future by increased abilities and capacity to look back on this time with a whole new perspective.
Slap out of it
Trust a seasoned developer that met many peers for whom programming is just a job.
The fact that you have a dev.to account, and asked this question proves that you are (or at least want to be) better than many people that deliver code daily.
Hey Mohmed - what you are feeling is not uncommon. And as others have mentioned, you're already on the right path by recognizing how you feel, and being open and honest in addressing it.
Dealing with issues of self-confidence and doubt is a complicated issue. The root causes might not have anything to do with the quality of your code, or your levels of productivity.
The first 2 questions that pop into my head when reading your post are these:
There's no right or wrong answer here. I know many incredibly talented programmers that consider coding their "job" and don't spend any time on software outside of their 9-5. It would help to understand where you draw your motivation from.
You mentioned failure twice. What leads you to believe you are not making progress? What sort of expectations are you placing on yourself and are they realistic?
Something that helps me when feeling overwhelmed or discouraged is to remember that there is always a path forward to a positive outcome. Even if you can't see it, it exists... like right now. Don't see it? That's ok, it's still there.
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:
My experience echoes what Ben Halpern said.
When I first learned programming, I had no idea as to the limits of what was possible. Everything was new and amazing.
When I had gotten a bit more experienced, I felt like I was a know-it-all hotshot. My fellow coworkers must have been saints.
After I got more experienced, working on harder, larger systems, I'd feel like a tiny boat in a hurricane. Thrown hither and yon. Anxiety, self-doubt, depression.
Now that I'm older and wiser... or at least older... I've come to realize that I know about half, and if you know about half, hopefully we can put our two halves together to get stuff done. So the important part isn't as much as knowing everything, but it is far moreso about working together and communication. And for someone like me who is terribly introverted and shy, I've had to work very hard at communicating... and it never gets easier, it's always stressful, but I've learned to try really hard to overcome my own impediment. Successfully, I think.
So even though I'm not a consultant, I think The Second Law of Consulting is very applicable: "No Matter how it looks at first, it's always a people problem."
I spent my first 15 years in the industry thinking I did not belong for similar reasons. It has nothing to do with programming - as it was with me, this all you and your demons. You need to learn to love your self, get your ass into therapy, and keep grinding. You can never unwring the bell of your past but you can come to terms with it and be at peace with yourself and the past. Best, chris
Read sw stories, learn that your situation may have been f'ed from the start.
Remember your triumphs, your debug, your design and implementation.
Remember your boss may have been an incompetent demanding asshole.
Learn from your bugs and read good code and find a good place then grow.
Cheers
Programmers are the source of most wealth.
I don't know if it's possible to really know how you measure up in a general sense (only particular things you're good at). But on the bright side, everyone else is probably having the same problem. My advice is to focus on what you can do, rather than trying to know the unknowable: