in reply to [OT] Am I just a bad programmer?

Even in this market there are opportunities for software developers. If you start a job search now, you have lost nothing but the time it takes to carry out the search. Quit your existing job when you've found the one that will replace it. And take a critical look at what the companies you interview with have to offer. As someone currently employed, you're interviewing them (to see if it's a fit you will like) almost as much as they are interviewing you.

A company that doesn't appreciate you is no place to put in another year, particularly when there are companies out there that run their engineering departments well, and that will appreciate you. Whether your next gig is as a Junior, or mid-level, or more is possibly less important than how you are appreciated, and how the department is run. Sure, it's good to interview "up", but find the company you are going to like, and get in, and work your way up if you can't get that title bump at the same time as transitioning companies.

Do you hate programming, or do you hate the way your department is run, and the way your company treats you? If you got into programming because you enjoyed it, then the things that make you not enjoy your career may have little to do with programming.