A few days ago, I left the company that I'd been working at for almost exactly three and a half years. Considering that this was my first job out of university, this was a huge deal for me.
The day before my big departure day, my boss conducted my exit interview that he'd disguised as a friendly coffee run. His questions were somewhat indirect, but what we wanted to know was simple: why was I leaving? What could they have done to keep me around?
Of course, like anyone else, I did harbor some grievances with my job, but these were all professional disagreements, and none of them were serious enough to drive me out the door. I cooperated with the exit interview entirely, and was honest about how they could improve their policies to build a more compelling environment for developers. Complaining isn't constructive, so I only mentioned the problems that had viable solutions.
The interview forced me to consider why exactly I'd left, and I realized that it could be explained with one simple idea. Even if my old job had been absolutely perfect: creative environment, senior position, great salary, invisible bureaucracy, blazing hardware, and a hot administrative assistant who laughed at all my jokes, would I be happy five years down the road? I believe the answer is no. Being at SXSW really helped bring into perspective that there are just so many interesting things going on in the world, and what I'm doing at any time is only a tiny piece. Just like I travel to experience other cultures and see the world, I want to be mobile in the workplace. Lifelong workers stay for the same reason that people don't like to travel: because staying home is comfortable.
Starting a new job is one of the most interesting things that a person can do in their life. The sudden influx of new interesting people, ideas, technology, techniques, and environment is a rush of size and scope rarely experienced elsewhere. For this reason, mobility is important.
Too much mobility is possible too, and a successful worker will need to strike a balance. I wouldn't want to leave a job where I hadn't experienced some sense of accomplishment. I'm paid well, and I want employers to feel like they got their money's worth, but I have to consider my own self-development at the same time.