The good news for programmers is that some employers favor older, more mature people who've learned a thing or two about working well with others. These aren't the slick jobs in the startup world that get all the press, but they are often well-paying and satisfying.
The savviest programmers learn to size themselves up against the competition. Some jobs are targeted at insanely dedicated people who will stay up all night coding, and older programmers with new families shouldn't bother to compete for them. Others require experienced creatures, and young "rock star" developers shouldn't try to talk their way into jobs with bosses who want stable, not blazing and amazing.
How much does location matter?
If you're young and willing to pack everything you own into the back of your car and move on, the only thing that's important about the location of a job is whether you like the burrito place next door. Good food and pleasant surroundings is all that matters.
But where to seek your next job becomes a trickier question when you can't pack up your car in 10 minutes. If you have a family or another reason that makes a nomadic coding life difficult to impossible, you have to think about the long-term stability of a region before committing to a new employer.
Many programmers in Silicon Valley move successfully from startup to startup. If one doesn't work out, there's another being formed this minute. There's plenty of work in different firms, and that makes it easy to find new challenges, as we're taught to say.
This may be the major reason that some firms have trouble attracting talent to regions where there's only one dominant player. If you move to Oregon or Washington and the job doesn't work out, you could be moving again.
Can you choose a niche to avoid the offshoring ax?
Lately many programmers have begun to specialize in particular layers. Some are user interface geniuses who specialize in making the user experience simultaneously simple and powerful. Others understand sharding and big data.
The growth potential of a career in a certain layer of the stack should always be considered, in particular in relation to its vulnerability to offshoring. Some suggest that user interfaces are culture-dependent, thereby insulating user interface jockeys from offshoring pressure. Others think it's better to pick the next big wave like big data warehouses because a rising tide lifts all boats.