It can be worse ...

Currently Unemployable and With a Job that Sucks.

Screwedness: Extreme

Step1: Becoming unemployable. There are two ways to do that. Simplest, stop learning and accept the status quo. Any status quo. Enjoy your couch and remote. With time the TV becomes optional. At this point you're already screwed and there's no need for a step2, but who cares anyway? You already have the perfect life which contains a couch and a remote. In a way, you're not screwed, but content (i.e. screwed thoroughly and accepting it with a dumb smile on your face).

The second way of "unemploying" yourself takes lots and lots of effort: develop real software** for real software companies. Let intelligent and competent people mentor you. Find challenging problems, the kind of problems that scare most people away. Solve them. Mentor other people. And learn, learn, learn. Evolve into a software coding/design machine.

Then rellocate to a city with a fairly small hi-tech market.

Step 2#: Find a job. Any job. It doesn't really matter which one. The few competent people, people you could learn from, with real software development experience, are already in a "don't-care" state of mind. And they are not willing to change.

How to unscrew yourself. You may try any of the following:

1) Rellocate back to a hi-tech market where you make sense.

2) If 1) doesn't work - reasons varry from risking divorce to you really like the new place - then you can either switch to a dont-care state of mind at work and you get your life elsewhere doing whatever makes you happy. Or if you really do like challenges then figure out how you can make sense and a difference where you are.

** Applies for any field, not just software development. Just get good at what you're doing and you're on the right track.