Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.
If this question can be reworded to fit the rules in the help center, please edit the question.

8

Studies show the top positive reason is colleagues and the top negative one is fear (of being broke). I can't answer that question, as a consultant, I never lasted more than 1 year at the same place.
–
user2567Feb 6 '11 at 13:15

@Pierre 303: +1 for mentioning colleagues. Could you share the links that delve into this?
–
Fanatic23Feb 6 '11 at 13:36

9

@Pierre - You should convert your comment into an answer and cite the studies. I think that would be a valuable resource.
–
WalterFeb 6 '11 at 13:56

@Walter | @Fanatic23: I have to look for the studies first.
–
user2567Feb 6 '11 at 19:17

Colleagues and boss. A good manager goes a long way.
–
Spencer KormosJan 17 '12 at 19:01

Risk averseness - I would be dishonest if I did not include this. All family responsibilities have been on my shoulders alone for years now--income, kids, caring for the sick, .... These demand vast amounts of my time and resources. To continue to provide for my family without uninterruption requires a job with the right amount of flexibility (which my present one does). Incidentally, being awesome at my job helps create the conditions that allows that flexibility.

Great point in the very last sentence Sparky. I think people should be aware that once you have your foot in the door of a company, you have a lot of control to gain flexibility once trust has been established with management and co-workers. Companies in my experience are usually more than happy to give you flexibility if you are an all round good employee.
–
Martin BloreFeb 6 '11 at 16:15

+1 for comprehensive answer with supporting case for each item.
–
JBRWilkinsonFeb 6 '11 at 18:00

I work for a mid-size company. We also acquire companies, so I've seen this pattern a few times.

The senior developers are there through a form of selection. If they aren't competent, they leave in a layoff (always ups and downs in an industry, especially when looking at a 10, 15 or 20 time frame).

Complacency is probably more along the lines of what you're asking. And, there are lots of reasons. Here's a few. Usually I see many of these in the same person (including myself)

Has a life. Once you've been somewhere for 10+ years you've probably gotten past the "developing software is my life" phase. You have kids and other activities outside of work that are far more important.

Confidence. Leaving a company is hard and opens you up for judgement (to get the job and to be in the job).

Reinforcement. If the person has been there a long time, I'd bet at different periods of their career there were significant accolades heaped on them. Those successes and positive reinforcement can do a lot to build a sense of home and loyalty.

Comfort/not a thrill seeker. You know the job. Your good at it. Everything else is an uphill battle.

Salary/benefits. I have this one last. In short, its enough because most people, with some work can do better. In software development, salaries tend to peak in your early 40s if you aren't growing. What actually happens is they have enough to be comfortable. In other words, for their own personalities they've probably reached the upper part of the needs hierarchy.

Quick edit/addition: Don't assume that these people don't periodically look for other jobs. Either the individuals or the jobs just aren't sufficient to change the status quo.

I've been at my current job for 4 years, and I was at my last job for 12.

What I like best about my current job is my co-workers. They have very positive attitudes and are oriented toward problem-solving as opposed to complaining.

Another factor is that management is supportive of best practices, including change management and project planning. There's a conscious effort where I work to get away from "cowboy coding" and putting out fires.

Good answer. Frankly I think the reason people are so surprised when you say you've worked somewhere for a decade is that their own experience may be a series of crappy jobs. Perhaps the difference between an inveterate job hopper and a job camper is the right environment/job that continually presents new challenges and a company that values its employees.
–
JohnFxFeb 6 '11 at 18:10

I can't speak for everyone of course, but as someone who has held his current job for 15 years here are some of the core reasons I have stayed so long.

Tenure Perks: I am fully vested in my 401K and based on my tenure I am now eligible for almost 40 days/year of vacation. Every time I look at other jobs, I think about giving up all that extra time off and it is a very compelling reason not to go.

Salary Perks I have a ton of experience within the company and am very aware that a large part of my compensation is based on knowing the company inside-out and having valuable well-established working relationships with almost everyone. I feel like at a new organization I wouldn't be able to command the premium price. Granted, I could go to a competitor, but our industry is fairly niche and a lot of the other companies are very unstable and prone to big layoffs.

Relationships Over all these years I have developed dozens of very close multi-year work-friendships and intrinsically know that no matter how much you try, those friendships tend to fade after you are working somewhere else. I like hanging out with dozens of my friends all day at work.

Comfort: Not the main factor, but it is a factor. I still keep in touch with lots of people who have left the company and the grass really isn't greener. Also, as the second most veteran employee in my company with tons of industry/company experience and a solid relationship with upper management there is a lot of job security that is hard to give up.

I'm sure complacency has some role in it, but not as major as people are making it out to be. Working at the same company != working at the same job. If you are stuck in the same job the whole time I might agree with the complacency thing more. Even then, most companies undergo massive change over time. So the same job isn't necessarily the same job. With regard to technology, that changes every 2-3 years regardless of your business address. So it isn't like you are finding a career cave and hiding there to avoid keeping up with the world.

As Jim Rush mentioned, I've investigated other opportunities dozens of times in my career all the way up to interviewing with other companies. Once I accepted a counter-offer to stay, another time management addressed my concerns and talked me out of leaving.

Comfort. When you're comfortable enough, then you are likely to stay where you are. At my last job, there were several developers who had been there over 15 years. If things aren't changing frequently enough, I start to get bored and when my boredom affects my performance enough that I notice it, then I start looking for a new job.

Can you further explain 'that category of people'? This seems like a dangerous stereotype.
–
Ryan TaylorFeb 6 '11 at 15:30

6

Ever consider the possibility of someone landing in a good job and finding it fulfilling enough to stay for a long time? Also, As you can see by the responses to this post, people with 10+ years in a job definitely frequent this site.
–
JohnFxFeb 6 '11 at 18:32

Hey I stay a long time in companies and are here on programmers.se
–
Tim WilliscroftFeb 7 '11 at 1:57

I've not been in the software industry for long and I've had 3-4 companies worth of experience. One of my largest concerns is the opportunity to make a difference and have the kind of people who are willing to learn and better situations. The most exciting experience was when a company that didn't have much focus in unit testing, allowed me to spend a couple of months presenting my findings of SOLID and TDD to the team. A few members of the team were then so inspired and become highly motivated at how we can move forward and better our development.

That kind of attitude, in management and employees, is something I am now always looking out for.