Career Advice for Software Engineers

How to Leave Your Software Development Job (Without Screwing Up Your Future)

John Sonmez · Oct 17, 2016 · 13 min read

The best way to leave a job seems pretty obvious, yet many fail to understand the right way to proceed in this part of their software developer profession to make me think it was worth a short chapter.\\n\\nLeaving a job in the wrong way can have disastrous results on your career and can possibly permanently damage your reputation, especially if you live in a small town.\\n\\nThere is often quite a bit of emotion involved in leaving a job.\\n\\nAnger, frustration, and even guilt are usually the key motivators that cause an otherwise rational person to make extremely unwise and irrational decisions when leaving a job.\\n\\nI’ve left plenty of jobs in my software development career in order to pursue new opportunities, and I’ve had my share of mistakes.\\n\\nIn this chapter, I’m going to talk about how and when you should leave a job and also give you some general advice on the dos and don’ts of vacating your current position of employment.\\n\\n

When You Leave a Job

\\n\\n\\n\\nLet’s start by talking about when you should leave your job.\\n\\nFar too many software developers stay at a dead-end job where they aren’t happy and are not growing for far too long.\\n\\nThere are many reasons for this.\\n\\nSome programmers are afraid that they won’t be able to find another job.\\n\\nOthers are used to a certain level of comfort and don’t want to risk that by entering a new work environment.\\n\\nYet others are in a job they know they should leave, but these programmers clinging desperately to the false hope that the toxic environment they are currently in will eventually change.\\n\\nPerhaps the most common reason developers stay in a job too long is because they don’t realize the other opportunities that are out there.\\n\\nHow do you know if you are sticking around too long and that it’s time to move on?\\n\\nOne of the best indicators is a lack of growth.\\n\\nIf the job you are in is not providing new challenges for you and you don’t see any opportunity to grow as a software developer—and as a person—it is probably a good indicator that it is time to move on.\\n\\nIt is really easy to get stuck in a rut because you are comfortable or are afraid of change and the unknown.\\n\\nBut all growth in life is only achieved by making yourself feel uncomfortable.\\n\\nThere are plenty of job opportunities that offer a huge amount of growth, but there are other jobs where you know that the work no longer challenges you and you don’t see any path for growth.\\n\\nAs soon as you know you are in a dead-end job, you should be preparing to move on.\\n\\nI’ve seen far too many software developers stay in the same job, with the exact same job title, for 10 or even 15 years.\\n\\nIf you aren’t growing, you’re dying. Grow.\\n\\nAnother really good reason to leave a job—perhaps the best one—is that you’ve identified the work environment to be “toxic.” Toxic Environment Work\\n\\nI receive horror story emails from programmers every day where they tell me about how their boss verbally abuses them on a daily basis or their coworkers passive aggressively belittle them constantly through abusive code reviews.\\n\\nLife is too short to deal with shitty people.\\n\\nEject jerks from your life.\\n\\nIf you are in a toxic work environment, don’t keep hoping it will change. Get out.\\n\\nDon’t play the victim when you have power to change your situation.\\n\\nNo one should tolerate a professional work environment where they are constantly being psychologically abused.\\n\\nHowever, not all reasons for leaving your current job are negative or emotional.\\n\\nSometimes, you’ll have a better opportunity come along that you should take simply because it is a better opportunity.\\n\\nI’ve left plenty of great jobs in my career just because a much better opportunity presented itself.\\n\\nBusiness is business. We all have to do what is best for ourselves career-wise.\\n\\nIf you have reservations or feel compelled to be loyal to your current workplace, always remember: no one else is going to look out for you.\\n\\nThat doesn’t mean that you should job hop at every opportunity that comes along which might be better than your current job, but if you see a really good opportunity, don’t be afraid to take it.\\n\\n

How to Leave a Job

\\n\\nNow that we’ve covered when, let’s talk about how.\\n\\nSeems obvious, right?\\n\\nYou just quit! There, done.\\n\\nWell, it’s not quite that simple. There are a great deal of complex emotions to deal with when leaving a job, especially if you’ve had the same job for several years and have many friends at work.\\n\\nIn general, you want to make the break as clean and non-personal as possible.\\n\\nYou want to make sure not to justify yourself, but to simply make your decision stand.\\n\\nBenjamin Disraeli, a former British Prime Minister, is famous for saying, “Never complain and never explain,” and I think this advice is especially apt when it comes to leaving a job.\\n\\n

Don’t Worry About “The Team”

\\n\\n\\n\\nHonestly, this is perhaps the toughest part of leaving a job.\\n\\nThere is a huge amount of guilt associated with abandoning “the team.”\\n\\nIf you’re a conscientious person and you’ve been working in a team towards a goal, it can feel like you are letting people down if you suddenly leave the job and move on.\\n\\nYou have to fight this feeling and realize that life will go on without you, and you must also concede that you are not as important and critical to the team as you think you are.\\n\\nOne of the most common excuses I hear from software developers who are considering leaving their current job is that the project will fall apart without them or that they’ll be abandoning the team.\\n\\nI’ve been there myself—on both accounts.\\n\\nYou have to realize this is partially hubris at work here.\\n\\nWe want to feel like we are so important and critical to the team, but the truth is anyone is replaceable.\\n\\nYou are not abandoning the team; you are making a career and business decision.\\n\\nI actually stayed at my last job well beyond when I should have left, mostly because of the feeling I had that leaving would be abandoning my coworkers.\\n\\nI felt bad about moving to my next opportunity because I didn’t want to disappoint my current boss, and I didn’t want to leave “my team” high and dry.\\n\\nBut you have to do what is best for you.\\n\\nThey’ll get over you and they’ll understand.\\n\\n

Give Two Weeks’ Notice

\\n\\nOne mistake that is often associated with the guilt of abandoning the team is giving far too long a notice when leaving a job.\\n\\nMy advice is to give two weeks’ notice and that is it.\\n\\nWhen I left my last job, I gave two weeks’ notice and then I was asked to stick around for an extra two weeks.\\n\\nQuite honestly, I should have said no, but because I already felt guilty about leaving the team, I caved in and said yes.\\n\\nI ended up wasting two weeks of time that I could have productively spent on my new venture, and I really didn’t get any benefit from it.\\n\\nI ended up drawing out an already difficult situation and making it more awkward, and I also risked something happening which could have messed up my future plans.\\n\\nWhen you stay longer than two weeks, you can quickly wear out your welcome, and you could jeopardize the opportunity you are moving to by delaying the transition.\\n\\nNothing is worse than staying at your current job an extra two weeks and in that time having something happen at the company you are supposed to be moving to, which causes them to rescind the offer.\\n\\nYou could suddenly go from two good developer jobs to no developer job at all—all because you tried to do the right thing.\\n\\nSo, do give notice. It’s not professional to just quit on the spot, but make sure it’s just the standard two weeks.\\n\\nIf your current employer needs you for longer than two weeks, work out a consulting arrangement for so many hours per week so that you can start on your new job and not put that one at risk.\\n\\nIf your current employer isn’t willing to pay you as a consultant after the two weeks are up, then they don’t need you as much as they thought they did.\\n\\nDon’t be guilted into staying longer.\\n\\nAgain, you have to do what is best for you.\\n\\n

Don’t Threaten to Leave a JobThreat Leave Job

\\n\\nIf you are going to leave a job, just leave it.\\n\\nDo not, do not, threaten to leave.\\n\\nPlenty of bad things can happen to you if you threaten to leave a job. It’s a really bad idea.\\n\\nYou may think that presenting an ultimatum—saying if something doesn’t change or you don’t get your way or get a raise, then you will quit—is the best way to get what you want, but it isn’t. Trust me.\\n\\nWhat is likely to happen is that as soon as you make a threat to leave a job, your boss will start looking for your replacement.\\n\\nNo one likes to feel as though they are being bullied.\\n\\nOnce you establish yourself as someone who is willing to resort to threats to get what you want, you’ll be considered a loose cannon and a potential liability.\\n\\nIf you have a problem with your work environment, it is ok to make it known and to ask for a change, but if that change doesn’t come, you have two choices: live with it or quit.\\n\\nPlenty of software developers have walked into the boss’s office thinking they were too valuable to be let go, tried to throw their weight around by threatening to quit, and immediately found themselves packing up their shit.\\n\\nI can recall one incident where I was working at HP. I really wanted to be put on the .NET development team since that was my specialty and I was already consulting on that team’s architecture meetings, but for political reasons, I wasn’t allowed to move to the position.\\n\\nI was not happy.\\n\\nI made it known that I really wanted to be moved to the team and that I could make a much bigger contribution on the .NET team.\\n\\nNothing happened.\\n\\nSo, when I’d had enough, instead of threatening to quit, I simply made up my mind and found a new job.\\n\\nI gave my two weeks’ notice and fully planned to leave.\\n\\nAt the last minute, literally as I had my hand on the door to exit the building, one of the high-up section managers at the company called me into his office.\\n\\nHe said that since I hadn’t made a threat and had instead simply left, he was going to give me an offer to stay at HP with a much higher salary and a position on the .NET team.\\n\\nHe made it clear that plenty of developers had tried to get what they wanted in the past by making threats, and they had a strict policy to never negotiate under those conditions.\\n\\n

Don’t Give Advance Notice

\\n\\nThis is just plain stupidity, but I see it all the time.\\n\\nAgain, this is usually motivated by guilt or by a person trying to be forthright and do the right thing.\\n\\nOne of my good friends was planning to quit his job and move to freelance work in two months’ time.\\n\\nHe thought he’d be upfront about it and let his boss know his plans, so they could prepare as much as possible and it wouldn’t come as a shock.\\n\\nI told him not to do it and instead give the professional standard of two weeks’ notice.\\n\\nHe said he had a great relationship with his boss at work and that he wanted to give him the heads up.\\n\\nHe thought nothing bad would happen.\\n\\nCan you guess what happened?\\n\\nAs soon as he gave his “two months’ notice,” his boss said, “Nah, that’s ok, you can just leave now.”\\n\\nHe was shocked.\\n\\nHe didn’t even get two weeks.\\n\\nBut it makes sense.\\n\\nIt’s a big liability to have an employee hanging around who you know is going to leave in two months.\\n\\nYou can’t give them any major projects, you don’t know if they’ll actually quit sooner, and you don’t know if they’ll do any work or just collect a paycheck.\\n\\nSo, as tempting as it is, do not give advance notice.\\n\\nDo not tell your boss you are planning to stay for two more months or a year or whatever it is.\\n\\nJust keep it to yourself and when you are two weeks out, then break the news.\\n\\nBesides, what if your own plans change?\\n\\nQuite a bit can happen in two months.\\n\\n

The World Is Incredibly Small

\\n\\n\\n\\nIncredibly.\\n\\nI’ve run into people I’ve known in high school in a corridor in a hotel.\\n\\nI’ve met people in foreign countries who I’ve randomly talked to and they happened to be friends of my friends back home.\\n\\nThe reason why I’m telling you this is because the next two things I’m going to talk about are all about recognizing how small the world is, and because of that, how fast you can ruin your reputation.\\n\\nI’ve seen, firsthand, software developers who have blackballed themselves from employment in a geographic area because of how they left a job.\\n\\nYou always want to leave on the best terms possible, whether your departure is voluntary, involuntary, or you just have to get the hell out of there.\\n\\n

Train Your Replacement

\\n\\nOne of the best things you can do in order to leave a job on good terms is to do an excellent job of training your replacement.\\n\\nIt’s tempting to not do this, especially if you’ve been fire—I mean, laid off from your job as a Software Engineer or developer.\\n\\nYou have to fight your ego, which says that no one can do as good of a job as you and tells you that if you train your replacement then no one will miss you. Instead, realize the greater importance of long-term legacy and reputation.\\n\\nContrary to popular belief, it’s actually in your best interest if things do not fall apart after you leave.\\n\\nMany software developers get this foolish notion that if the company they leave is hurting after they leave, it means they were valuable.\\n\\nThe opposite is true.\\n\\nA good leader starts training their replacement the moment they take a new job.\\n\\nA good leader knows that they become immensely more valuable by building teams, companies, processes, and infrastructure that allow things to run smoothly without them.\\n\\nA self-conceited jerk with self-confidence issues, scared of any form of insecurity, believes themselves to be a critical part of an organization which will ultimately fail without them.\\n\\nTherefore, when you’re on your way out—voluntarily or not—make sure to do the best job you can during those two weeks training your replacement.\\n\\nDocument everything you can. Take all the knowledge from your head and transfer it to the company, so they can function as well as possible without you.\\n\\nNot only is this the right thing to do, but it may also pay off someday when someone runs into someone else in an airport and strangely your name comes up. Know what I mean?\\n\\n

Don’t Say Anything Bad in the Exit Interview

\\n\\n\\n\\nI just don’t get this one.\\n\\nYou’re on your way out the door.\\n\\nIf your boss was a low-knowledge tyrant and your coworkers smelled like homeless people, it doesn’t matter anymore because you’re on your way to freedom.\\n\\nSo why, why, would you say anything bad or critical or anything that could in any way possibly hurt you during an exit interview?\\n\\nJust don’t do it!\\n\\nNothing good can come from it, but plenty of bad can.\\n\\nYou have to understand that this is not the time to fix all the problems with the work environment you’re now leaving, just because you have a sympathetic ear.\\n\\nNot only is it too late, but it also doesn’t matter anymore—YOU’RE LEAVING.\\n\\nSo, when you get asked about what could be improved, what problems there are, why you are leaving, or what you liked least about the job, etc, just say something pleasant.\\n\\nDon’t say what you really think!\\n\\nResist the urge.\\n\\nI implore you.\\n\\nNothing good can come of it.\\n\\nDo you really think they are going to give you a medal and a check for $10,000 for improving the organization?\\n\\nNo. Not going to happen.\\n\\nYes, many times, exit interviews are well-intentioned attempts to improve the company and working environment, but fixing company culture issues doesn’t happen by listening to grievances of ex-employees on their way out the door.\\n\\nDon’t participate in a game that will not help you in any way, but which has a very high chance of burning bridges, trashing your reputation, and causing a witch hunt.\\n\\nI’m going to end this post now because I don’t want to continue beating a dead horse – I think you get my point.\\n\\n


\\n\\n

John Sonmez

John Sonmez

John Sonmez is the founder of Simple Programmer, author of "The Complete Software Developer's Career Guide" and "Soft Skills: The Software Developer's Life Manual." He helps software developers build remarkable careers.