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.

  • 10
    I think this question is too broad to be answered accurately.
    – Maxpm
    Commented Feb 20, 2011 at 8:11
  • 6
    I just do what the magic 8 ball says ... it's never wrong! It told me to post this comment!
    – user131
    Commented Feb 20, 2011 at 16:07
  • 6
    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
    Commented Feb 20, 2011 at 17:28
  • 14
    all the good questions get closed.
    – Kevin
    Commented Jan 29, 2012 at 19:46
  • 11
    @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! Commented Jan 29, 2012 at 21:16

18 Answers 18


This blog post will add a lot of value to the discussion: http://widgetsandshit.com/teddziuba/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.

  • @wildpeaks: Do not take this as the norm. I work at a large corporate company that has an awesome work, play, and ethics culture. Sure, you don't get 2.5 mo of vacation but you don't need it. There's plenty of time to enjoy life and ample opportunities to take time off. And the company has been around for a long time, it's not going anywhere. I also love what I do and don't care what the building looks like. Then again, the company I work for is known to be a great place to work.
    – aqua
    Commented Feb 20, 2011 at 19:59
  • @shovonr, if you check out books such as "fooled by randomness", as well as something on monetary policy / fractional reserve banking (Milton Freidman is a somewhat hard-to-read, but great author on the topic), then you would probably realize that there was a fraction of joke in my joke. youtube.com/watch?v=DLFkQdiXPbo khanacademy.org/video/…
    – Job
    Commented Feb 22, 2011 at 15:23
  • 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
    Commented Jun 8, 2011 at 8:01
  • 6
    @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
    Commented Jun 24, 2011 at 20:07
  • 3
    You may say you are a dreamer..but you are not the only one
    – mic.sca
    Commented Jul 6, 2016 at 8:53

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.

  • Thanks for your answer, can you elaborate on the metrics & critera on how the "getting grades" scheme worked? It sounds like a really good idea has real merit.
    – Kane
    Commented Feb 20, 2011 at 11:48
  • I can start, but if you need more we should find another medium. The idea is good. I am a consultant and formally they evaluated on three major points. First agreements I made with my own employer and how well I kept them. Second evaluations from the customers I did assignments for. Third the gut feeling of the manager within the restrictions he was tied to. That last point is where my pain came from. If you got a three it would be normal, a four is above average and for a five you needed to do extras (teach, present, write) if you scored lower than a three multiple times you could get fired.
    – KeesDijk
    Commented Feb 20, 2011 at 12:00
  • 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
    Commented Feb 20, 2011 at 13:25
  • :) not all reasons have been with different employers so the amount of employers isn't that high. Besides that if you give good reasons for leaving without talking badly about a previous employer nobody will hold that against you.
    – KeesDijk
    Commented Feb 20, 2011 at 18:26

Realising that nobody gets rich working for someone else.

  • 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. Commented Feb 21, 2011 at 19:19
  • 1
    Of course the risks are also lower... It's a tradeoff.
    – jwenting
    Commented Jun 8, 2011 at 8:02

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.

  • Wow, that video is really profound. Really explains, what I knew in my gut, but could never explain too well. Maybe this is why startups do so well, because of how it provides all 3 in varying degree's.
    – crosenblum
    Commented Jan 3, 2012 at 21:34

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
  • +1 for politics + pissing contests - these encapsulate all the reasons I've left jobs.
    – ozz
    Commented Feb 20, 2011 at 10:17
  • another +1 for politics + pissing contests. Some folk really do loose sight of the vision of their team/group/department/company. More prevalent in larger companies or small companies who think they're larger companies.
    – James Love
    Commented Feb 20, 2011 at 13:38
  • @Job: It is me...
    – gbn
    Commented Feb 20, 2011 at 18:00

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

  • I chose management (of a developer DBA team) to get around this. It works for me, I'm still fairly hands one.
    – gbn
    Commented Feb 20, 2011 at 18:01
  • @gbn - I tried that (that was my last role before I left) but found even as the "tech leader" of the team I still spend 90% of my time on management crap.
    – Ben Hughes
    Commented Feb 22, 2011 at 12:16

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)
  • 2
    The "exhausting the chances to learn" could be a real reason for me to leave, luckily it hasn't happened to me yet.
    – KeesDijk
    Commented Feb 20, 2011 at 12:10
  • 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.


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.


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.


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.

  • Is it an acceptable answer to the question "Why you want to leave your job?" during the interview with the new company? It does not sound bad mouthing to me but maybe someone has different opinions. Commented Apr 24, 2018 at 15:32

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





  • Maybe it had something to do with what you had to work on, or with, or for? Did you think of that?
    – user251748
    Commented Sep 25, 2017 at 17:56
  • 1
    @nocomprende - Good thought. I will update my answer accordingly.
    – Dunk
    Commented Sep 25, 2017 at 18:26
  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.
  • +1 Pretty much every other answer in three points. Though I'd put Terrible work conditions at the top, since I would trade better work conditions for worse in the other two.
    – tylermac
    Commented Jun 8, 2011 at 16:20
  • tylermac: That's a chronological list, not ordered by priority ;-)
    – user281377
    Commented Jun 8, 2011 at 16:50

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.


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).

  • Progress: are 4gl names always ironic?
    – Tjaart
    Commented Aug 16, 2012 at 8:01

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.

  • This is a good way to reframe the problem in a more constructively. Your observations about having a career track are spot on.
    – smithco
    Commented Feb 21, 2011 at 0:54
  • +1 For mentioning upper level technical track positions.
    – rjzii
    Commented Feb 25, 2011 at 15:55

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.


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.

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