Programming is programming, one language is not much different from the other. There are jobs for low level coder's ( think; drivers, kernel porting, RT ). Web has diverged 'front end' or 'back end' take your pick. Work remotely is another option. The niche makes it easy for the employment people to pigeon hole you. If you have that need do a couple of CV's tailored to that niche.
Don't believe the startup 'shit' that only a committed programmer can work there and you need to give 60+ hrs a week.
If you get that spiel, get up walk out. They will use you and throw you away.
I've seen 60+ hr code, it's; crap, bug ridden, security nightmare. In the 'Agile' short term for a startup it's great for the long term...! Strange how Facebook changed their moto about 'breaking it' didn't they when it got serious.
I got asked in an interview recently if I could name a design pattern. I responded with "ow you mean 'Gang of 4', how about observer" the reply was " No not the old band and that's a newspaper" I laughed got up walked out. Then sent an email to the CIO telling him the reason his IT stank was that he had inexperienced people working for him. Strange that company no longer exists :)
Sometimes you got to 'pony up', do the 9-5 so have a nice hobby. Take the crap, but not for too long otherwise you start believing it.
When you find the right role you'll know. They don't always pay the greatest, the atmosphere is good, and you'll want to get up in the morning to do it.
Strike a life balance, your mind is your tool. Burn it out and abuse it then you'll loose it.
So you'll find me, sat at a cafe or bar along the Med. My laptop isn't the most modern (actually it's a 5yr old MacBook Air ). I'll be unpicking some crap code, putting in comments, and applying some old proven techniques. If you can stand the smell of Gauloise Disque Bleu, I'll buy you a beer.