While change is a constant in IT, it may not be practical to jump on every wave. If you have terrible aesthetic judgment, you shouldn't try to be a user interface rock star. Nor does it make much sense to try to sell yourself as a big data genius if you find a statistics textbook to be confusing. There are limits to how much you can steer your career, but there are ways to play a new wave to your strengths -- and to make yourself immune to offshoring.
Should you strike out on your own?
An increasingly common career dilemma is whether to stay full-time or switch to being a contractor. Many companies, especially the bigger ones, are happy to work with independent contractors because it simplifies their long-term planning, allowing them to take on projects without raising the ire of executives who sit around talking about head count.
The biggest practical difference is figuring out health insurance and pension benefits. An independent contractor usually handles them on their own. Some find it to be a pain, but others like the continuity they get by keeping the same independent health insurance or pension plan when they switch contracts.
Another big difference is in what you like to do. Regular employees are often curators and caretakers who are responsible for keeping everything running. Contractors are usually builders and problem solvers who are brought in as needed. Those aren't absolute rules, but for the most part, those who stick around get saddled with maintenance.
Because of this, contractors are often free to specialize in particular technologies, while employees end up specializing in keeping the company running. Both may sell themselves as experts in Oracle or Microsoft or Lucene, but employees are the ones tasked to get a project up and running because the boss needs it by next Friday.
Depending on the culture of the employer, this could mean broad experimentation for full-time employees or an increased likelihood of tending outdated enterprise software far longer than anyone might want.
Is there work beyond tech?
Most programmers often forget there are many jobs for programmers in companies that have little to do with technology. It's easy to assume that programmers will always work in tech.
The smart programmer should realize that choosing a nontech employer provides unique career opportunities. These days almost every company requires computer-savvy employees and a strategy for making the most of computer systems. Sales forces need software for tracking leads. Warehouses need software for tracking goods. More often than not, someone has to customize these solutions to suit the needs of the business.