The third way is to create your own software company at night or, alternatively, contribute to open source projects. Selenium, the popular web-testing framework, actually started as personal project to automate testing of the open source billing and expenses tool that Jason Huggins was working on at ThoughtWorks. The billing and expenses application is long gone, but Selenium led Jason to a job at Google and later became the technical cornerstone behind the company he started, Sauce Labs. At Sauce, Jason may have quite a few worries, but I doubt that his employment tops the list.
Advice for Testers
My general advice for testers is to look for transfers within a company to something that is at least new to them. It might be customer service management, recruiting, development management, or project management. If they want to stay in testing at one company, I would look into either becoming a subject matter expert or, possibly, becoming closer to the programmers and thereby more valuable. That might mean writing code, but, more likely, it will mean learning to read code diffs and knowing enough about those changes to predict which features will be impacted by a code change. A final option is to specialize within testing, in performance, security, or possibly internationalization testing.
Planning for Change
"Responding to change" is a theme of extreme programming. How we react to change establishes who we are. It determines our destiny.
Instead of picking one thing to do, you might make a small list of six things that you could do, along with an experiment to find out if that sort of work is for you. If you plan experiments and revise the plan every three to six months, in two years you might find out that you are qualified for several jobs. Then, the problem will be in deciding which one to pursue.
Come to think of it, that's a pretty good problem to have, isn't it?