Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am interested in finding out why programmers leave their jobs and if the reasons for leaving have resurfaced in your now job?

Is the reason for leaving simply down to remuneration, location, I hate my boss / coworker, lack of recognition or retirement / new career path.

Update: I am responsible for a team of programmers and testers and I would like to better understand what could motivate my team to leave, and hopefully try to address such issues.

share|improve this question

closed as not constructive by Anna Lear Oct 30 '11 at 5:53

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

9  
I think this question is too broad to be answered accurately. –  Maxpm Feb 20 '11 at 8:11
4  
I just do what the magic 8 ball says ... it's never wrong! It told me to post this comment! –  Tim Post Feb 20 '11 at 16:07
5  
While this question is broad, there are some interesting answers coming out. It would be worthwhile to get a short list of reasons assembled and perhaps spin each out as a new question in the form of "how do I stop X from happening?". –  smithco Feb 20 '11 at 17:28
6  
all the good questions get closed. –  Kevin Jan 29 '12 at 19:46
6  
@Kevin - yep... the founders and mods just can't understand that we ask questions like this because we want advice from programmers from all over the world...stack exchange sites have the best userbase of all... but mods like Chris F and Anna Lear make it there daily routine to shut down topics that do not meet the FAQ 100%... So one mod decides to close this topic because they think its not constructive, yet there are 18 answers and 109+ upvotes... your wrong Anna! –  Dal Jan 29 '12 at 21:16

18 Answers 18

up vote 131 down vote accepted

This blog post will add a lot of value to the discussion: http://teddziuba.com/2010/05/why-engineers-hop-jobs.html It comes down to this: top talent has easy time finding jobs. Make sure that you, the employer are competitive in the job market.

I am a harsh judge. Please do not judge me nearly as harshly, for I need to eat to sustain my life and thus I always needed a job somewhere. I am sure that my post is subjective, but I tried to answer honestly from my perspective. You see, it is NOT all about what I can do for the company. It is all about WHAT I WANT (and can get). FYI, I am male, not married, without kids.

[In no particular order]

Reasons I have left:

  • On my first day I was greeted: "Welcome to Hell" by a co-worker.
  • Company is struggling financially
  • Many broken promises
  • Overqualified for my current position and cannot move within the same company.
  • Bored as hell at my daily job.
  • Working with / for idiots.
  • Management betting big on sub-par outsourcing and having their ass handed to them.
  • Management not understanding software.
  • Working in an industry that I am not passionate about.
  • Consistently shipping crappy products. So far I would never buy what I have been producing, even if I was working for a large firm with a lot of capital to spend.
  • Corporate bullshit.
  • Work location in the middle of nowhere.
  • Depressing-looking work building; awful food in cafeteria.
  • Cheap/flaring office furnish and equipment.
  • Uninteresting coworkers / personality clashes.
  • Too much gossip / co-workers having no balls to stand up for what they believe. Seeing no sparks in anybody's eyes.
  • "Golden children" / "ass kissers".
  • Dress code, too many meetings, having to be at work by 9, six sigma training, seeing corporate waste.
  • Not being able to grow professionally / take a class after work.
  • Not having enough equipment to do the work fast, work place being too noisy.
  • Too many meetings. Fixed deadlines.
  • Not enough vacation / sick days. Feeling that I am not getting paid my market value. Feeling like I make significantly less than some other assholes at the same company who do not deserve it (I tend not to envy when pay is justified).
  • Not clicking with manager / project manager / co-worker(s).
  • Being a minority in the democrats vs republicans debate, encouraged at work. Non-proper conversations regarding gender/race/sexual preferences during lunch.
  • Seeing brain drain and the company not realizing that it is happening and why it is happening.
  • They score too low on Joel's test.
  • "Dead sea effect" : http://it.slashdot.org/story/08/04/12/2241216/The-Dead-Sea-Effect-In-the-IT-Workplace
  • The boss's dumb son works here too, but he is unfirable.
  • Other types of unfirable people; jerks.
  • I worked at Wall Street and I had to talk to traders.
  • We helped the stock market crash.
  • Business analysts were above me on a food chain.
  • Employee evaluation that made me feel like shit for a week or two, even if my compensation was ok. Anything every slightly negative that goes on record into HR's files cannot be good for me. I would much rather prefer a tough 1:1 conversation.
  • Negotiating a raise is hard and unpleasant. Going to interviews is fun, increases wealth, and makes me feel smart once again. All those fun puzzles and deep technical questions that only tend to come up in interviews, but then my daily work is not nearly as stimulating.

Why I have not left yet (in no particular order):

  • It is not that bad (but I will not be here too long).
  • My pay is ok
  • I might not like everyone, but my manager and some of my co-workers are awesome.
  • I might not work for NASA, but I am still challenged, am learning, and there are some smart people around.
  • I like most people's sense of humor.
  • It takes me no more than 45 minutes to get to work using public transport.
  • The company's revenue looks ok, so no need to fear layoffs or other draconian cost-cutting measures in the next 6 months.
  • I have not been here long enough; if I leave now, then I will look like a job-hopper.
  • I want to wait till February, when I will be told how well they think I performed as well as get my raise and bonus :)
  • If I leave now, my resume will not look that good. They promise that after 1 year of being here, they will finally give me a half-decent project to work on.
  • My benefits look decent, and I have some dental work coming up, so I better do it before I switch jobs (work is hard at the beginning, and health-related stuff better not be a distraction).
  • The economy sucks, so I have to stay here for at least 6 months total. If I get laid off after that, then Obama will take care of me.
  • Joel test score here is above 8 out of 12.
  • After 1 year I am eligible for career development benefits, and I want to take a class.
  • My co-worker is my neighbor, and he drives me to work 5 days per week - score!
  • My partner is finishing up her Master's in 6 months. When she gets a job in 9 months or so, I will reevaluate my situation.
  • I have MSDN license, so all 50 of my relatives get a free copy of Windows XP / MS Word and a flight simulator.
  • I need time to prepare for the job that I really want, and working 45-50 hrs per week does not leave that much time.
  • I have some free time during work day, so that I can invest into my education/projects/ideas
  • I have a family situation / I am in the middle of a divorce / other personal stuff, and I want to take it easy and not try to do too many things at once.
  • I will be starting grad school in 1 year, so it does not make sense to switch a job now.
  • I bought a house and I cannot risk it, at least not until I rent our 3 out of 5 rooms.
  • I have had a large unexpected expense; job hopping is unwise at the moment - I need to replenish savings.
  • I still need to meet / linked in more people and secure a couple of recommendations.
  • Someone at my work thinks that I am not that smart. I cannot leave until I make them eat their wrong first impression.
  • They will send me to a Scrum Master training next month, and that always looks good on a resume.

Reasons why I am likely to stay for 5-10 years:

  • I absolutely love it here.
  • I help to cure the deadliest form of cancer or do something useful like that.
  • I do not feel like yet another brick in a wall, but rather feel like I matter.
  • I am compensated well, and have no envy of coworkers.
  • I socialize with my coworkers after work because I want to, not because it is good for networking.
  • People are very cool and get my sense of humor and vice versa.
  • Proper equipment.
  • No performance evaluations, or at least a fair and human-oriented process.
  • I can work 11 am - 7 pm without management thinking that I am a lazy slob.
  • It is quiet here.
  • WE HAVE A FREAKING PING-PONG TABLE (foosball is lame)!!! A pool table would be nice, preferably non-American (pockets are too large).
  • We have a gym, a swimming pool and a sauna.
  • Good benefits
  • An opportunity to learn, to take a class, to work only 30 hours per week and get paid accordingly.
  • At least 1 month of vacation (yes, it is a lot by US standards, but if you come from Europe, it is nothing).
  • My co-workers are smart but normal (as in they do not take the geekiness to far).
  • Drinks and snack are included, and they are healthful because my co-workers do not eat sweets or drink soda.
  • The place provides recycling, and my co-workers can tell paper from plastic from metal from trash.
  • The place is green-conscious (but not green-washed).
  • I would/do buy my own product.
  • I get paid to learn a foreign language on my job.
  • I can practice that or some other foreign language with my coworkers who speak it.
  • I am respected and feel smart. I get things done fast and well because the environment is right.
  • The company is doing well financially.
  • I can tell random people at a bar what I do honestly, and they will think that I am cool.
  • I get enough income from rent, but I still want to work here.
  • Work is located in a lively place, with lots of smart, positive, energetic people around on the street.
  • I can walk to work in 30 minutes. There is good food and entertainment everywhere along this path.
  • I have many friends in the same city / area. I can meet cool people here.
  • I like the climate, and beaches / mountains are not too far away.
  • Unlike Jeff Atwood, my coworkers genuinely like outdoors and nature.

Reasons why I am unlikely to stick around for more than 10 years:

  • I want to be my own boss.
  • I want to travel a lot, on my own schedule.
  • I could use 2.5 months of vacation per year (paid or unpaid), and no sane employer will offer that to me.
  • I am not yet sure if I like long commitments.
  • I have not decided 100% what country I want to live in. Things can change quite a bit in one decade.
  • I like change, I like new atmosphere.
  • Life is very dynamic. My goals 10 years from now can be quite different.
  • I prefer small, successful companies / startups. After 10 years they will likely grow into something different.
  • Companies that survived the first 3 years tend to be risk-averse, but a new crazy start-up around the block might be doing something very cool and new.
  • Moving every 10 years can be good in general, and I do not think that being a manager is for me. Without desire for vertical growth, looks like horizontal moves are the only option.

Hopefully this helps. Yes, I am a dreamer.

share|improve this answer
4  
"Wow, you've left lots of times! " not necessarilly. Quite often you'll find some or many of those factors happening together, and it's the combination that causes you to leave, not any one of them on its own. –  jwenting Jun 8 '11 at 8:01
4  
@Mark, I simply do not understand your stance. You might prefer chat, but I do not find chat useful. Comments that pertain to an answer are better left right where the answer is. –  Job Jun 24 '11 at 20:07

The reasons I have left for sofar:

  • no room for the career path I had in mind.
  • promises not kept
  • evaluations based more on feeling than anything else
  • getting bad evaluations based on criteria you can't control
  • better offer elsewhere.

To elaborate a bit

My first job was mainly programming Visual Foxpro and I didn't see much of a career path in visual Foxpro.

Promises not kept were training courses I followed with the promise that I would be getting assignments for which you needed the training courses. I didn't get any of those assignments.

At one employer we would be getting grades 1-5 officially telling us how well we did and on the grade the salary increase would be based. Reasons for bad evaluations included "your starting salary was to high", "other employee's used up the 4's I am allowed to give" and "you got an extra pay increase so I can't give you a 4 now".

I got an offer that increased my salary by 25%, with everything else looking great I couldn't resist.

share|improve this answer
1  
Seems like you have been around the block having left so many places. Do you ever feel your next potential employee is concerned with this? –  Chris Feb 20 '11 at 13:25

I've left previous roles because of

  • politics + pissing contests at management level meaning job going nowhere on the shop floor
  • emigrating from the UK
  • boss was a complete insert perjorative here
  • too long in one job
share|improve this answer

The main reason I left my last job was hitting the tech class ceiling: it was getting hard to not get sucked into management work and there was no tech career path available.

Other factors included: - slow moving beureaucracy - lack of focus by management - a general lack of focus on success/ outcomes

share|improve this answer

A highly recommended reading on the subject is Peopleware.

As for me personally, reasons why I left previous employees included

  • resistence of company culture to change, making me feel I can't make a lasting positive difference
  • relocation to a different country
  • conflicts with management, e.g. with new project manager being more interested in "arguments" on any technical subject to prove his superiority than actually managing the project
  • exhausting the chances to learn in the current workplace (a small company, with a single development project)
share|improve this answer
1  
The "exhausting the chances to learn" could be a real reason for me to leave, luckily it hasn't happened to me yet. –  KeesDijk Feb 20 '11 at 12:10

1 The people I work with

2 Work assignments

3 Work assignments

4 Work assignments

5 Work assignments

6 - Hit the top of the pay-scale at that company

7 - Work assignments

8 - Work assignments

.

.

.

.

share|improve this answer

I haven't seen the hours posted yet in any of the answers. While many programming jons allow for normal 40 to 45 hour weeks, some companies instill a culture where 60+ hour weeks are expected. I know a number of people who have left the games industry for that reason.

share|improve this answer
  • boring or not challenging work
  • bosses that underestimate your creativity
  • bosses that have no clue but keep telling you how to do your job ("Have you tried using SQL?")

Just read Dilbert's comics.

share|improve this answer

Realising that nobody gets rich working for someone else.

share|improve this answer
3  
Aint that the truth. There's the occassional exceptions of course - people who get lucky with stock options. But for the most part, if you want to become independently wealthy, you need a level of ownership over what you produce. –  GrandmasterB Feb 21 '11 at 19:19

I dislike the title "programmer" because it is ubiquitous. I have seen the title used for positions ranging from Excel macro writer to hardcore veteran system software engineer.

If you want people to stay, you need to shed the "programmer" title and structure your organization such that software development professionals are treated like true professionals. Organizations that have career tracks for those who wish to remain technical instead being forced into management produce better software and have lower turnover rates.

Ideally, an organization should have a technical career track in which the highest technical grade is at least equivalent to that of second-level line management in compensation and authority. A highly effective technical organization will have "advisory" level engineers that report directly to a director or an executive. Advisory engineers are not line managers, nor are they project managers. Advisory engineers are the civilian equivalent of Chief Warrant Officers in the U.S. Navy (http://en.wikipedia.org/wiki/Warrant_Officer_%28United_States%29), that is, they are highly-experienced (> 20 years) technical specialists with upper-management authority who know how keep expensive projects from going south.

share|improve this answer

Autonomy, mastery and purpose. You can not motivate your people, you can only demotivate them. Give them room to learn and get better at what they do. Allow them to learn from mistakes. Give them room for creativity, don't spoon feed tasks to them. Don't keep them away from actual customers/users. Appreciate their craft.

share|improve this answer

One reason I've left a company:

Working for the NHS (National Health Service) in the UK which meant my salary was in a band (A, B, C etc). That meant I was able to reach a max salary for my band, but could not get any more than that. The only way for me to get a meaningful salary increase was via a promotion (which wasn't going to happen unless the current Senior Software Developer left, or died), or by a cost of living increase in my wages.

There was one developer in the team who had been on the same salary for 5 years. He soon left. I lasted there two years before getting fed up of the crap wages.

Cheers. Jas.

share|improve this answer
  1. Career deadend. A struggling company with a bad product that just needed maintenance.
  2. Boredom. Wanted to do something else, become self-employed etc.
  3. Terrible work conditions. A perfect 0 on Joel's test. Part of my job would have been to improve that (kind of a manager position), but I had to find out that the whole organisation was resistent to improvements.
share|improve this answer

Push factors

  • management does not see programming valuable
  • users have too much influence on how programmers use technologies
  • users change requirements without adding resources
  • other colleagues leave
  • job nature is not programming anymore

Pull factors

  • new technologies/skills to acquire in new company
  • good colleagues
  • the new company is building a better world
  • 30%+ salary raise

The above is my personal considerations.

share|improve this answer

I would suggest taking a look at the RSA animated version of Dan Pink's Drive: The Surprising Truth About What Motivates Us.

In it, Pink theorizes that once an employee's base level of salary needs have been met, three main factors influence their motivation and satisfaction.

  • Autonomy --The desire to be self-directed.
  • Mastery -- The urge to get better at stuff.
  • Purpose -- Desire to do work that serves a transcendent, underlying goal (Example: Skype- Our goal is to be disruptive, but in the cause of making the world a better place.)

Obviously, this does not cover all motivation, but it does cover a lot of it.

share|improve this answer

I leave, because they show no interest in the quality of the work. It takes time, effort and energy to product quality work. And that time costs money, but the lack of that effort, decreases the reliability, performance and ease of handling larger amounts of data.

Basically if companies just keep sludging crappy code out there, and then wonder why they get reports of daily errors coming through, or server's crashing.

There is a cost or consequences to not caring.

share|improve this answer

What I've not seen yet: the company moves in a direction that's completely at odds with your career goal and/or skillset.
e.g. I used to work for a company as senior Java dev when that company ditched their Java product line and decided to concentrate fully on Progress 4GL (which was their other main product line). As I'd no interest whatsoever in getting sucked into a career dead end as a Progress developer, there was no other option but to quit. Company CEO a few weeks later at an all-staff meeting announcing that "we're not a product organisation, we're a service organisation" when the main income stream for the company was selling the software we produced (rather than the training and hosting for that software we also provided) was the final straw (for me as well as others).

share|improve this answer

Particularly in small campanies not like(google , yahoo), when an employee is competent of doing one step ahead as compare to what he is doing in his current firm, then employee want to move to the next higher position and salary.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.