All that said, I have been almost continuously employed for a dozen years or so. Periods of unemployment are short, and when I work the pay is high. While I may fail to answer the random BS questions at several interviews in a row, I get far more interviews than people I know in other lines of work, and wind up employed again after far shorter periods of time. Sometimes it's freelance or contract work but even those are paying excellent money for programmers these days.
I guess it's a trade off. You have to endure a lot of frustration to get to the satisfying and successful bits. Don't give up hope! (But do see if there's a side project that can tide you over. Programming skills can support many baskets to put your eggs in)