Apart from having to relocate on account of family reasons, the only time I've left a job is when I thought I wasn't growing professionally. As long as I'm learning on the job and my skills continue to be kept current, I've felt no reason to leave. Also, I happen to my current company and the work I do.
I agree with you. Unfortunately, it does not always work out that way. Here, in the United States, companies expand and contract, appear and disappear with alarming frequency. My resume is littered with companies that have merged into others, been downsized due to a dearth of new contracts, been spun off from a larger corporation without the resources to succeed, gone bankrupt and other ignoble fates.
The other "job killer" for me is being forced into management. I became a programmer because I like to play with computers. Every time I am forced into management, I find more and more of my time is tied up in paperwork, meetings and personnel activities, leaving me precious little time to play with computers. Being a manager is a job I do not like, with too much stress and too little reward.
Actually I've worked most of my life in the US. I only moved to Canada ten years ago. I guess I've been lucky enough to work at established organizations (early in my career) and successful startups since the 2000s (although I've experienced a couple of crash and burns, too).
Jalapeno Bob wrote:
being forced into management
Yes, that would it do it for me too. I've always chosen to stay technical. I think companies that offer a purely technical sofware engineering career path do exist, but are usually small to medium size outfits. I don't think I would ever work for a large organization again.
I used to stay at a company 2 - 4 years and then I joined a company and "settled" in and got "comfortable". At around 14 years, the company decided they needed to move everything offshore. I watched all my co-workers go before me until at year 16, I got the tap on my shoulder. It was a good run while I was there. While we had somewhat kept up with current technologies, my skill set was still a little "dated". I was still able to get another job quickly, but I have had to play "catch up" very quickly. Had I moved on a little more often, would my skill set have advanced? Hard to say, but I think the opportunities would have been there more often than by staying at a company long term.
My first full time employment was almost 13 years; that ended due to corporate restructuring.
From there, I changed countries (Canada to U.S.A), but worked with the same technology set (VAX/VMS, FORTran, FMS). Stayed there for almost 13 years before switching to my current position - that is coming up on 5 years.
Now, I focus on a single technology base (OSISoft PI system) instead of being a developer, analyst, de facto DBA, troubleshoot everything person.
As long as I'm happy with what I'm doing, it provides for me and my family, I have no plans to change.
I have been on the current job since May 19, 1997. This has been the first and only full time job I have had. I graduated from the University of Pittsburgh in December of 1996. At this point I hope to stay an additional 10 to 11 more years and then retire (or move on to some type of consulting work where I can reduce my hours).
I usually prefer to stay at my company until my 401k is vested by the company 100% and until the project that I'm working on ends (3-5 years usually). Having said that, I past that milestone a while back and have been with this company for just over 7 years (longest ever).
So - I picked a preference - but that doesn't mean the world offered that road for me in the past.
Prior to "here", I was in place nine years. (Their experience, after "letting me go", allowed me to relish some proper schadenfreude). Here (both as contractor and employee) now amounts to about fifteen years.
When they get tired of me "here", I'll go - but they put food on my table (and that of many others) for all these years, through good times and bad. There are greener pastures in terms of money, but they remember that employees (even in the most menial positions) are people. Nice.
No one with the right mind signs a contract, with some set up about how many years (months) it will last...And no one with the right mind leaves a job just because the time is up!
It depends mostly on the human environment, on the challenges and personal preferences of that time...
Skipper: We'll fix it. Alex: Fix it? How you gonna fix this? Skipper: Grit, spit and a whole lotta duct tape.
In my previous job I just started out as a developer.
Lots to learn, longer to stay. I lasted four years.
I've been working at my current job for almost two years now and... Well, who is to say I'm going to make four?
How long I will stay at my next job depends on coworkers, salary, company culture, growth possibilities...
I PREFER a job for life though... Self-employed and making millions
I've been body shop consulting as of late. That is, I let an agency place me for 6 month contracts. I pick up a new skill at each placement and I take a month off in between contracts and fill any learning gaps with personal projects...or travel out of the country. It's also created a web of contacts/full time offers so that I can return to full time salary if that becomes necessary. So far so good! No more late nights fighting prod fires.