I have been doing this for more than 20 years at this point. I have YET to stay with one position for more than 2.5 years (and I only stayed there for the health insurance because of my newborn son). I have found that more often than not, companies see their development staff as "overpaid" as it is. This is why they are quick to try to outsource their development! They are quite unlikely to give large raises or even enough to bring you up to what the market is currenly paying. I have left contract jobs as early as 6 weeks into the contract and perm jobs after 9 months. In both cases, I left for another job and the contract was with the same firm but different client! I ALWAYS left for more money! I leave for large pay raises. Plain and simple. I have to take care of my family and my desire for raises and bonuses are NOT the primary concern of management in any company. If I ever find a company that raises paychecks to match the current market, I would probably stay with them as long as I was treated well. I cannot disclose what I make now because others that I work with browse these boards, but I can tell you that it's more than I made at the last place! ;)
JamminJimE Microsoft Certified Application Developer
Why are we still calling it Common Sense when it's just not that common?