How to fire a Software Engineer

By far the hardest thing you will do as a manager is fire someone.  But you will need to do it.  There is no way around it.  If you want to be a manager, this is just part of the job.

I’ve discovered there are right and wrong ways to execute this.  I’m hoping some of the tips below help make the best of this difficult situation.

Why fire someone?

So let’s start out by looking at some of the reasons why you will need to get rid a member of your team:

  • Company Layoff – The company is underperforming and you have a mandate from upper management to reduce X% or # of people from your team.  There is little negotiating room that you have here to save your team.  It will be your decision who to let go.  You’ll have to keep in mind core skillsets, team composition, performance, etc. in making your decision.
  • Performance – The employee’s performance has been consistently subpar.  Ideally you’ve tried to work with them to improve here.  Many company HR departments will require the employee be placed on a PIP (Performance Improvement Plan) before letting them go for this reason.  I’ve found that it’s less common in startup environments, where HR departments are immature, and there no time for dead weight on the team.
  • Attitude – The employee might be a good performer, but their attitude sucks.  A bad attitude can have a huge drain on a team and needs to be addressed.  Similar to performance, you’ll most likely need a PIP here.
  • Team Fit / Composition – It may be that you’ve had some turnover in your group and now the seniority or skillset of an employee is no longer needed.  In this scenario it’s considered a layoff since you are eliminating their position.
  • Politics – This is an unfortunate one but all too common.  It may be that one of your people just annoys the hell out of your CEO or looked at him funny.  I’ve literally seen this before.  Depending on the strength of your HR department and your willingness to expend your political capital to save this person, you may not be able to do anything about it.

Heads up (1+ month before the firing)

Firing someone isn’t really a situation that you get trained for.  You are basically ruining someone’s life (at a minimum in that very moment) with your words.   The first person I fired was for performance and I gave him absolutely no warning.  It was a big mistake.  He was completely shocked.  I felt horrible afterwards.

With the exception of the layoff scenario, you have the ability as the person’s manager to give them a warning that being let go is an inevitable outcome.

If the issue is attitude or performance, the heads up will essentially be the PIP.  When delivering the PIP you will warn them that if things don’t turn around the next step is termination of their employment.  Unfortunately most PIP’s don’t work (about 10-20% in my experience), but they suffice as a way of giving a heads up that things are going in the wrong direction.

If the firing is for political reasons I recommend just giving them a heads up that they should start looking for another job.  The market for software engineers is so hot right now there is no reason their career (advancement, compensation, etc.) should be hindered by sticking around.  You are doing them a favor by letting them know where they really stand.

The Week Before

The week leading up to getting rid of someone you should be sitting down with HR and your manager to iron out the details.  Will you be replacing them or just losing the position completely?  What is the impact to current projects and coverage in technical expertise with their absence?  How will the notification happen?  What does the severance package look like?  Depending on the size of the company some of this may be taken care of for you, or you’ll have to do it yourself.

It’s important to give your manager a heads up in how execution will be impacted (velocity, increased time to debug areas in a particular subsystem, etc.).  Note that this should never be a reason for keeping someone around, unless you are near a critical near term deadline that the employee is involved in.

If the impact is critical then I would recommend only delaying the termination by a week or two.  Don’t let this issue linger!

In addition to the above discussions, you should now start transition planning.  Who will take over work in progress?  Are there any open, undocumented designs that they are working on?  I usually use the month leading up to the event to ensure things are being documented and checked in.  Lean on them to do this, because you are going to get stuck with the mess that is left over when they are gone.

The Night Before

I get really nervous about this the night before!  Use this time to practice delivering your notification script.  Yes you need a script, especially if it is your first time!  Practice your script out loud too, it’s different saying these words out loud instead of just in your head.

You need to know exactly what you are going to say when you deliver the message, because most likely you are going to be nervous as hell when you sit down in that room.

Some things to note:

  • You, the manager, need to deliver the message.  Don’t take an easy out and let HR do it.  You are the one who has established a personal relationship with the employee, you need to look them in the eye and give them the news.
  • It’s not about you.  Try to remember that this time is all about the employee and helping them successfully move on.  Don’t get all wrapped up in your emotions and how you feel.  No one cares.
  • Keep the script simple.  If you’ve given the ‘one month notice’ as I’ve mentioned above, the employee will know exactly what is going on when you sit down with them with HR in the room.  Keep the notification to 2-3 sentences max and move on to the paperwork and next steps.  Avoid elaborate explanations on what happened.  The decision has been made.
  • Do have HR or some other witness in the room with you.
  • Do practice your script.  Trust me on this one.

Notification Day

You’ll want to get this over with as early in the day as possible.  You should have your script memorized, and all the logistics planned w/ HR (and IT to disable accounts).

As soon as the employee is in the office call them into a room (with HR).  I don’t recommend setting up vague calendar invites the night before.  Just do this whole thing in person.  There is no need to schedule a meeting.

Deliver your script.

After you/HR have delivered the severance paperwork, I like to give them a few options on how they want to handle exiting the building.  They can either pack up their stuff and say goodbye to a few people, or (the one I push for), they can leave immediately and then schedule a time later to come back to the office and pack their stuff.

I recommend the later to avoid lots of awkward conversations with coworkers while you are standing over their shoulder, especially since you haven’t had a chance to tell the team yet.

Have them come back another night or on the weekend to pack their stuff.

Immediately After

Immediately after (as soon as possible!) you need to pull your team together.  Do not go to any meetings, chat with anyone, etc.  This is your top priority.  Pull everyone together and explain to them what happened.

Leave out the details on why they were let go, that’s a private matter between you and the employee.  If it’s for attitude/performance everyone on the team will know anyways.

This isn’t a time to talk about transitioning.   This is a quick meeting to let everyone know what happened, let them ask any questions, and then let them go back to work.  Make sure to encourage the team to support the employee in their transition (referrals, job advice, etc. ).



Rest of the Day

Be present the rest of the day.  Don’t go and hide, which you may have the urge to do.  Your team will respect what you had to do and that you told them about it in person.  Also, you’ll be surprised how everyone just ‘gets back to work’.

If anyone looks rattled or is behaving oddly, pull them aside and make sure they are OK.  Some may have questions or are uncertain about where they stand in the company.  Let them know!


All separations are a little messy and awkward.  If you follow the steps above you should be mostly OK though.

If you aren’t given the time to follow the process outlined above, then you need to push back.  If you take any shortcuts to just get it out of the way, you are bound to piss off the employee, ruin your reputation, and get a bad glassdoor review.  It’s up to you!


I’d love to hear your comments below.  What are your experiences letting someone go?

One thought on “How to fire a Software Engineer”

  1. Hi Dave, a nice article really liked the reality you sharing, so that people may learn and know what to do. Performance management is tough if a person is not open, or if he is new in the company, he has to work hard and adjust with the environment.

Leave a Reply

Your email address will not be published. Required fields are marked *