Most significant raises are coming from employees changing companies. It is almost certain you will receive a 5 to 12 percent increase when you move even if your last raise was two months ago. This is where there is the most flexibility. Many programmers have discovered that one way of making more money is by working on a contractual basis. This is a fruitful avenue if you have a highly desired skill set and are comfortable with the contracting environment.
Contracting can also alleviate some of the problems associated with permanent employment.
Companies aren't usually as picky in regard to personalities and long-term commitments when dealing with contractors. If you land a bad assignment, it is only for a short term. You can also get exposed to new things rather quickly. And you can make more money. I have companies calling and literally begging me to send them candidates with these skill sets.