Dude, you sound like you are just depressed. You can't read that much into things. We are surrounded by signals telling us how awesome other people are, because they show us what they are proud of, and only the coolest of that really get's seen.<p>Second, remember the best companies hiring are still basically only a little better than 50/50 at predicting success after 18 months, and success isn't a simple thing. If you support developers they do a lot better then if you just throw them in the deep end, but still there are a bunch of factors, expectations, time demands etc. that can effect the perception of a programmer.<p>Third, coding ability isn't a singular thing. It's a mixture of various talents, skills, and knowledges that each programmer has to a certain degree.<p>But let's say that you are a shitty coder. The truth is, with all the talk of rockstar programmers who do 10x the work of the normal, most coders are not awesome, and most code isn't written by rockstars, and that code runs, and works, and ships/is put into production. There are people who will hire you, and there is work for you, engineering work, that is a valuable contribution to a company. This is a pretty good time to be in tech, and there are plenty of positions.<p>Even if you lack innate talent, you can work to develop your skills and knowledges and become a better programmer.<p>Or it's perfectly fine to do testing, automation, sys admin work, or take a management role.<p>Still, I think you are probably selling yourself short, because you feel discouraged.