I've been programming for a long time (+8 years) and professionally for a year now. I've recently switched to an awesome job, really aligned with my ideals, skills with good pay and I'm doing a great job. But regularly—once a month, I'm struck with a depressing inferiority complex. It stays for 2–3 days and then goes away, after I convinced myself that I'm doing a great job. Does everyone get these kinds of feelings?
- I feel like I'm not a good fit as a programmer
- I don't want to do anything but to lay down and wander
- I get unsociable and absent
Programming is hard. You're going to run across new things often. You are always going to be learning. And things change quickly as well.<p>So all programmers feel this way.<p>If you're been doing it professionally for a year you have the knack. You can figure things out and are a fast learner.<p>When you feel this way at work think about all the things you know and can do.<p>Then take a break after work, go for a walk or hike, appreciate what you have.<p>Then research the task that's giving you this feeling, learn about it, understand it, grow your knowledge.<p>Programming is about learning, trying new things. There is usually one task per week where I'm like I'm not sure about this. You just have to do it, test out ideas, find the solution.<p>Luckily in our industry trying new things is relatively safe and controlled in your local env. You can try new things and even break things finding a solution.<p>Just be glad we're not in construction with razor thin profits where you're expected to pay for every mistake you make.<p>Software is hard, you are doing a great job, focus, breath, take in the big picture, then carry on.
If you mean, wondering whether or not you know what you're doing, yes, that is absolutely common, it happens every time I try to learn something new, and it takes me longer than expected. I've just been programming long enough that I recognize it as an incorrect, but inevitable feeling, and I just grind through until I learn the new thing and then feel competent again.<p>I now have the impression that if I _haven't_ felt like I didn't know what I was doing and was in over my head, in a long time, it means I should push myself out of my comfort zone.<p>If, on the other hand, you find yourself thinking that you just don't like programming, well then it depends on how you mean that. If you normally like it ok, but every once in a while wish you were doing anything else, that's normal; there is a reason they have to pay people to do this. Just because it's not always fun doesn't mean you're not a good fit.<p>But, if you find it to be teeth-grinding levels of "I hate this", on a regular basis, then that is not so good and you should find something you don't hate. But from your description, that does not sound like it is the case, so don't worry. Sometimes it's not what you would be doing if you weren't being paid to, and that is pretty common, which is why they have to pay people.
Use the occasional feeling of inferiority to drive yourself to learn technical topics you don't know much about, maybe build something.
As an aside, I would much rather work with people like you than inflexible engineers that are know-it-alls. Consider the humbleness a strength.
From your description this could be anything. Which means 100% there are people who experience exactly this.<p>What is exactly that bothers you? What benefit youd like to get from the answers here?