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.

Possible Duplicate:
At what point during a project is it unreasonable to leave?

I'm the lead on a project that has been underway for about a year and a half. Two of us have been working on it. One is the database guy. I'm the javascript/ui guy. Which is to say, essentially no overlap in code knowledge.

Here's the thing. Someone is about to offer me a sweet job with a nearly 30% bump in pay. Though I am perfectly happy with my current job and love the project, the new one would be better and I can't imagine saying no.

The big problem is that my project is supposed to go into production starting in a few weeks. I will consider the new guys to have disqualified the new job by being bad people who would ruin my life if they won't cooperate and let me start after deployment. Since they seem like decent, ethical people, I don't expect that to be a problem.

The current project will be brutalized by my absence. I take some comfort in the fact that I have emphatically requested an understudy for at least six months. That puts a little of the responsibility on the boss's head, but still, it's going to be a really bad thing.

What do others of you do when you are a critical to a project when it's time to move on? Do I owe any obligation to stick around even though something better shows up? I know my spouse would object if I found someone else. Does that apply to work?

I do have an understudy now, though he's fresh out of college. He's not going to replace me anytime soon. It's a small shop and the boss is going to be crushed. I am traumatized in anticipation of telling him and feel guilty about the practical consequences.

I'm looking for some solace and some strategy about how to deal with this transition.

Thank you for listening.

=========================Subsequent notes =========================

@ChaosPandion, Chance: No, I can't stay to finish the project. I will insist on a compromise where I finish the current sprint (about a month from now) but there is at least a half year, probably a year of solid, full-time, work still to be done. I wouldn't expect the new employer to hold the job that long.

share|improve this question

marked as duplicate by Steve Evers, Mark Trapp Jan 30 '12 at 13:10

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1  
Can you work out a deal with your new boss to finish your current project? –  ChaosPandion Jun 29 '11 at 17:08
2  
What about being a consultant for the old job while working for the new job? –  Chance Jun 29 '11 at 17:13
12  
"I know my spouse would object if I found someone else. Does that apply to work?" Only if your spouse is your boss =) –  Matthieu Jun 29 '11 at 17:17
2  
@Mark, I wasn't aware that this was different in the UK, but I like the idea. Something like that would never fly here in the United Corporations of America where any restrictions for an employer to shed as many employees as quickly as possible is derided as "socialist". Commie tea-drinkers... Cheers! :) –  maple_shaft Jun 29 '11 at 19:43

16 Answers 16

I used to feel guilty about moving on and leaving people in the lurch before I watched people be laid off or fired by the company that were critical to ongoing projects for reasons that had nothing to do with their performance. The company doesn't care about you and it will be able to replace you if it chooses to. So you must look out for yourself.

However, a professional leaves on good terms and doesn't leave a preventable mess in his wake. So make up a list of what the new person will need to have access to and where things are located and any knowledge you would like to see when you join an on-going project. Make sure the boss has copies of any emails pertinent to the project that he might not have. Make sure that you check in all the code and that you leave a list of exactly what has been done and what still needs to be done for the project. Prepare all of this before you give notice and give it to your boss with the resignation latter. Some places will walk you out the door the day you give notice especially if you have the technical knowledge to actively cause harm to their data or networks.

share|improve this answer
16  
Good answer but I don't agree you need to document everything before you give notice. If they want to march him out they should be left in the lurch. Any sane company is going to work hard to ensure a transition happens smoothly. –  Jeremy Jun 29 '11 at 18:18
1  
I will do everything I can to ease the transition, including making myself available to help/advise. This is a really good project. Not only do I want to reduce the harm to the company, I really want to make sure the project, my baby, succeeds. –  AnonUntilAfterTheEvent Jun 29 '11 at 19:49
5  
Show them the exact loyalty they'd show you. No, I take that back. A professional should never crap on his bosses desk. –  Satanicpuppy Jun 29 '11 at 22:34

What do others of you do when you are a critical to a project when it's time to move on?

Move on. Whenever you think that you are indispensable, I recommend that you go get a glass, fill it with water and stick your finger in it. If you truely are indispensable, then when you pull your finger out you will leave a hole. I made the mistake when I was younger of having these sorts of feelings about leaving employers "in the lurch" and those feelings ended up having an enormous financial cost.

Do I owe any obligation to stick around even though something better shows up?

No. If the situation were reversed, you would hear the line "it is nothing personal, it is just business". In the past, one called such things "social contract". The premise being that as long as you were faithful and loyal to your employer then they would keep you on for life. That stuff started shrivelling up in the 70s and was almost completely gone from US corporate life by the mid 80s. If you remember Gordon Gecko's "greed is good" speech from the movie Wall Street, you'd see this table up front with all these grey haired geezers. In olden times, they'd make special positions as payoffs for long service, and that sort of top-heaviness was tradional.

I know my spouse would object if I found someone else. Does that apply to work?

I don't know about your country, but in the US, wedding vows typically have a part that goes I, ____, take you, ____, for my lawful (husband/wife), to have and to hold, from this day forward, for better, for worse, for richer, for poorer, in sickness and in health, until death do us part. I don't know about you, but I have never ever come across any company that makes any sort of promise even remotely similar to this any more. The last IT company in the US that came close to this - IBM - abandoned their no-layoff policy in the 1990s.

share|improve this answer

"The graveyards are full of indispensable men." - Charles de Gaulle

You are never indispensable to a project, and if you really are, then the project has a serious issue.

If you give reasonable notice of your departure, and take the time left to prepare material, documentation, do some code clean-up (no big refactoring, but just the things that would ease readability and coherence of your code (variable names, coherent interfaces, etc.)), or even give courses to a successor, it will be considered as fair. The earlier you give this notice, the better.

In the business part of your life, work and investment, you should take opportunities when you see them, and leave the emotional part aside as much as possible (means it's not an excuse to be a jerk =) ).

share|improve this answer

You got to put Number 1 first.

The project would apparently be in the same tragedy if (God/Allah Forbid) you got hit by a bus tomorrow. How would THIS be your fault?

The project success/failure is riding on your manager's back. If he was negligent in finding you an understudy and you are gone then that is HIS problem not yours. He made a bad choice in letting too much ride on just one person. If you are so important to the success of the project that even a 2-4 week notice would doom the project then that was a bad project management decision.

So don't feel guilty, its not your fault.

share|improve this answer
1  
I agree with you about that. He should have listened to me about getting another person involved. I know I'm not at fault, per se, but I am acting in a way that will inflict pain on others. I guess I'm just weak. Don't worry though, I'm going to tough it out for Number 1. No more Mr Wimp-Guy. –  AnonUntilAfterTheEvent Jun 29 '11 at 19:51

I'm in a similar position though I've not yet been offered the job, just really, really hoping to be. The difference is that I'm seriously unhappy where I am. In fact, the only reason I even knew about this other job is that I had a rage-quit moment and put my resume back on monster, where a recruiter saw it. Since then I calmed down a bit and was not going to respond to recruiters, but this one I want.

I've long done my best to make sure there are people to replace me if necessary. Unfortunately the other guy that knew almost as much as me about the project decided he hated rain and moved to California. Only people left on my team are new to it, though not new to development.

What I did, considering this later development, is tell my manager, who I felt I could trust. I'd already informed him that I was unhappy at work but not much he could do about it...long standing issues with more history than him. I've been working hard to get my "underlings" up to speed as best as possible and make sure the project is something they can work on. Since the in-person interview I've gone into overdrive on this, trying to get my future plans (how I think we could approach upcoming problems and such) into other brains or on our wiki or something.

I've decided that if given the opportunity I will take this other job, and there's nothing my current employer can do or say to change my mind, but I'm doing my absolute best to make sure the impact of my leaving is only to the extent that they lose their star programmer. A firm can survive without a star programmer, maybe even do a little better. They can't survive if I leave a bunch of crap in a state of confusion and that's what I'm doing my best to avoid.

That's what I'm doing...it seems the right thing to me...dunno though, haven't actually lived through something like this before. In fact I passed up the exact same position with the exact same team for my current employer once before because of obligations and some other things. At some point though, loyalty and obligation aren't enough.

share|improve this answer

I'm the lead on a project that has been underway for about a year and a half. Two of us have been working on it. One is the database guy. I'm the javascript/ui guy. Which is to say, essentially no overlap in code knowledge.

I think this is the root of the problem. It's something that I've heard referred to as a truck factor. The truck factor is often defined as "the number of people who have to be hit by a truck for the project to be in trouble" or sometimes as "the impact on a project if a single individual is hit by a truck". Things happen - people get better job opportunities, people get sick, and people get hit by trucks. Right now, your project team isn't accounting for these conditions at all, and that doesn't bode well for the project, even if you decide not to leave.

The current project will be brutalized by my absence. I take some comfort in the fact that I have emphatically requested an understudy for at least six months. That puts a little of the responsibility on the boss's head, but still, it's going to be a really bad thing.

This is a good approach, I think. But it's also a little late. Throughout the project, everyone should be cross-training. It's perfectly OK for an individual to spend his or her time on a particular component, module, or aspect of the project. But they should be at least somewhat familiar with the rest of the project to jump in as the need arises.

If you are fully intent on leaving, you should make your bosses aware of this as quickly as possible and make sure you have the opportunity to train your replacement and that the replacement is suitable (in terms of education, experience, and personality) to take over your duties and fit with the team. You should also begin the process of cross-training everyone on the team, since you are still in charge of the project. Don't put the rest of the project at risk - introduce some better project management practices right now by breaking down some of the walls.

I do have an understudy now, though he's fresh out of college. He's not going to replace me anytime soon. It's a small shop and the boss is going to be crushed. I am traumatized in anticipation of telling him and feel guilty about the practical consequences.

This is a problem. If you are in a project management position, the next project manager should be someone who is senior on the project, probably not a new hire, and definitely not a recent graduate.

He might be smart and competent, but there's no way that he will have expert or referent power (from French & Raven's Five Bases of Power) over the team. He'll only have legitimate power granted to him by the hiring authority, which I don't feel is sufficient to be a leader. Sure, he might be "in charge", but he probably won't be able to lead the team.

I'm looking for some solace and some strategy about how to deal with this transition.

This is a decision that you have to make. There have been problems with project management and personnel on the project up to this point in time. These problems introduce a large number of risks to the success of this project and cohesion of the project team. You can begin to change and fix these problems now, but ultimately, the decision if you should take the other position lies solely on you and what you believe is right for you - no one can make that decision. Based on your question alone, I can't even decide - I would have to be there and be put into making the decision for myself.

share|improve this answer
1  
If the truck factor is the number of people who have to be hit by a truck for the project to be in trouble, than you don't want it to be low, but high. –  Paŭlo Ebermann Jun 29 '11 at 21:03

Don't hold back in work, its a pretty cut-throat hostile environment out there. If a better opportunity comes along take it. Take solace in the simple truth that if the tables where turned and if someone more skilled than you who would work for less offered themselves to your company they would probably let you go.

On the other hand, this by no means is an end with your relationship to your company. Since you say this is a small company they may be willing to keep you employed as a contract worker until they don't need to anymore.

If you want to be really tactful, and you really care about these people you can approach your supervisor (once you have 100% confirmation from the other job, contract of employment tucked away safely) and mention to him that you were approached by a third party employer offering you X compensation, but you really like working here and want to stay but your financial obligation is to leave because of your mortgage, new kid, w/e. You'd be surprised how many employers match the compensation just to keep you. Just keep in mind you have to do this tactfully otherwise you will create a hostile work environment.

share|improve this answer

From the perspective of the understudy: working under people who don't want to be where they are is pretty unpleasant. Before I was here, my project manager's wife died, and he didn't work for ~6 months. He's here now, working part time, only because he takes giving his word very seriously. The project wouldn't have stood a chance of succeeding if he was not on it.

He does his job very well, but you can tell he doesn't want to be here. As they have cut our salaries, and moved up the release date, his irritation at being here has become more and more palpable. As someone who doesn't know him very well, I hate seeing him trapped in a place he doesn't want to be. A co-worker he's closer to regularly says things like, "Go home, I'll write up those tickets", so I assume I'm not the only one.

All of this is to say: if it's time for you to move on, you owe it to the people you work with to get gone. Hanging around because you feel obligated to is going to make things worse for more than just you.

share|improve this answer

In the end, you probably realize this by now, you will have to make a decision. It will be either a) go for the money, b) stay with the nice people you know (I'm assuming they're nice to you, and you have no problems working with them) and finish the job.

One way will "get you to the top" as they say, the other will earn you the reputation of someone who can be "counted on". So, depends on what you want.

In my system of values, there is no dilemma. But I see by other answers in here, most of them have a differently put system of values.

share|improve this answer
2  
I hasten to add, "go for the money and cool job." I also note that 30% is more than just money. In my case, it's a change of lifestyle for my family (read, college savings and the first vacation in living memory). –  AnonUntilAfterTheEvent Jun 29 '11 at 17:45

4 weeks is a more than generous notice. The company was clearly not managing the project carefully enough, because people leave all the time. They might be nice, but if you will be more happy at the new place, there is no good reason to stay. This is just how business works. If you were to stay and the project succeeded, only they would benefit, not you. It is tough luck for them, but that would be a pretty raw deal for you.

share|improve this answer

How about: Talk to your boss. He might be prefer giving you a raise (or otherwise improve your work conditions) rather than loosing a lot of time and money to get a replacement.
I don't think it is fair to simply make this decision behind his back. You should give him a possibility to compete with whatever new place you want to go. And you should tell him as soon as possible, so that he has time to decide and to make according changes.

share|improve this answer

Once you give notice be ready to leave and don't tell them before.

I agree with the side that says take the new job, at most ask for 4 weeks to start with the new company. You may be losing some vacation time in the end.

Alternate suggestion is to offer to help look for your replacement.

Alternate 3, possibly consult with the old company if only if you have time.

Learn from this and someday if you are in the position you will know what happens if someone leaves unexpectedly.

I don't know if your present company decided to put you and your teammate on this alone to save money because it didn't have the money or it didn't want to spend more. If it didn't want to spend more then I think you can figure out what would happen to you if they decided to cut the project or get rid of you.

If it's a small company that doesn't have the resources then maybe they were getting a bargain with you. Finally they should make arrangements with the new guy to stay for 6 mos to a year until the project is up and running.

share|improve this answer

Wow, I've seen a bunch of "employers are all bastards, screw 'em" type responses, and I'd like to respond.

If the situation were reversed, you would hear the line "it is nothing personal, it is just business".

That's what they'd say and they'd be right. This is a professional relationship, and that means that it is strictly an exchange of value: you work for them because they pay you and they pay you because you work for them. Within that, you both have an obligation of honest dealings, but you aren't an indentured servant and they aren't an inexhaustible milch-cow.

In the past, one called such things "social contract".

No, they never called it that. There is a vague theory called the social contract but it has little to do with employment.

The premise being that as long as you were faithful and loyal to your employer then they would keep you on for life. That stuff started shrivelling up in the 70s and was almost completely gone from US corporate life by the mid 80s.

Thank God. What a shitty idea, that all you have to do is "be loyal" and all the company has to do is "keep you".

If a company can pay you more, it's because they can earn more from your services; staying at a lesser paying job means not just are you earning less, but you are providing less value to the economy as a whole. You would be making the whole world poorer.

If you remember Gordon Gecko's "greed is good" speech from the movie Wall Street, you'd see this table up front with all these grey haired geezers.

How a dyed-in-the-wool leftard like Oliver Stone managed to pen the definitive defense of capitalism, I will never understand, but yes, greed is good, and "loyalty" very easily degenerates into cronyism.

Remember the deal that Gecko was trying to put together? He was going to break up failing Blue Star airline, sell most of the bits to more efficient, better run airlines, and use the land Blue Star was squatting on to build housing. Charlie "Winning" Sheen broken about 10 securities laws to put the kibosh on that and Gecko was supposed to be the bad guy?

In olden times, they'd make special positions as payoffs for long service, and that sort of top-heaviness was traditional.

Yeah, I remember that. Sucked.

share|improve this answer

I asked a similar question a few weeks ago regarding a startup that I have been working for where I'm the main developer. Anyways, I also received an offer for a better job (at least better in terms of pay and company stability / less workload) so I jumped at it and I basically tried to let my boss down as gently as possible since the startup is like his baby. It's always good to try to maintain a good relationship and you can see the boss's "true colors", if they start to get immature and make personal slights against you then you know you probably should have left sooner and you should immediately feel re-inforced in your decision. If they take it maturely then you can keep the relationship going to use as a reference, do consulting work for them in the future (at a higher rate), etc. Running a business means knowing that this can and will happen and if they aren't prepared for it then its not your fault, I feel this is especially true when the boss is a non-developer because they know the risks of running a small shop where they can't ever step in, if needed, to bridge a gap in their team so they need to always be ready to bring somoene else in if needed

share|improve this answer

When it comes time to notify boss-man, try initally leveraging it for a raise. If you like the existing project that much, set a minimum raise point after which you'll stay (say, 20%). If your current position cannot offer you a sufficient raise or is unwilling to, move on as best you can doing your best to leave all the tools and information possible to ensure, to the best of your ability, the success of the project.

share|improve this answer

I would never feel any guilt about moving to a better opportunity. At the same time, the industry really isn't as large as we'd like to think, and if you are seen to be unreliable, word does get around. The key I believe is to do your best to avoid burning all of your bridges. Offer to give your standard notice, yet be on hand for a couple of days when your system goes live. Make it clear that you're move is not a reflection on the company or the job, but an opportunity you feel you would be a fool to reject. Your existing boss may not be happy that you are leaving, but if you manage the situation well, could be a great ally should you need a reference in the future, or may even offer you a better job later on.

Karma can be a funny thing, but if you leave without your existing employer feeling slighted, and if you work things out with your new employer to keep things good between you and your existing employer, then if you wish to leave in the future, your new employer will know that you intend to treat him with the same courtesy as you did when you left your old job.

share|improve this answer

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