I take the opposite view to most of the comments below, and have a strong opinion on it. I think the idea of long term loyalty to one company is naive, I'm sure there are exceptions, but, I believe staying at one place limits your personal growth, experience/variety, and most importantly earning potential. Work is transactional, most of us only do it because we get paid, if you get a better offer you should go, you owe your employer nothing. From the employers perspective, to keep good employees for as long as possible, you should devise a career and reward plan to keep good people engaged, and not relay on good will to keep people in your organisation. But factor in that people will leave and have good processes in place to deal with it.