I agree with tptacek (and others recommending CBT and ACT), examine the language you are using. The words you use may not spell "depression" but they are certainly in the vicinity that may lead you to it (I'm talking clinical depression). And this is all normal, but fixable. If you are not cognisant of the triggers that lead you to conclude on "yourself" as opposed to conclude on "stuff you did" (your works) you will continue to spiral into loser-mode and open the door marked "Depression". It'll only be a matter of time if you don't tackle this. And then, probably at 40, others will call it "mid-life" existential crisis. :-)
You are not your WORK (fuck pointers in C++)! Chances are that you're awesome at things you are refusing to acknowledge! Come here I'll give you a hug! (Then slap you!* ... because you're wasting time worrying about judging yourself instead of CREATING things and moving along!)
* Ok, I just slapped myself because I'm wasting time on HN! ;-P
You are not your WORK (fuck pointers in C++)! Chances are that you're awesome at things you are refusing to acknowledge! Come here I'll give you a hug! (Then slap you!* ... because you're wasting time worrying about judging yourself instead of CREATING things and moving along!)
* Ok, I just slapped myself because I'm wasting time on HN! ;-P