Unordered thoughts about programming, engineering and dealing with the people in the process.

On Firing Someone

| Comments

In Uruguay it’s not common for software companies to fire people, on one side the employment law makes it almost impossible to fire someone, even if they’ve robbed you and it’s video taped. On the other, there are so many companies evading taxes they’re held hostage of their own misdaemenor.

It’s a shame, firing someone that’s not pulling his own weight is almost as important as hiring the right people, is how you build your team; is how you choose who you are.

Letting someone go is a traumatic process for everyone involved, and being something uncommon, almost no one has experiences to share.

Since I’ve fired a few people over the years, I thought I should share a few things I’ve learned.

The problem won’t disappear by itself

First things first, a company is not a country club, it’s more like a pro sport team. You play to win, the best players are on the field, if someone doesn’t fit, he goes home.

When someone in the team is not playing his part, everybody knows it, and there’s nothing you can do to hide it. The offender knows it, your team know it, you know it, and the people on the grades know it.

If you have someone on your team that’s not performing and you’re doing nothing about it, you’re a buffoon, and everybody thinks you don’t have what it takes to run the show.

Who’s guilty? You’re guilty

Common reasons someone doesn’t perform as expected:

  • Doesn’t have the skills to do the job
  • Can’t adapt to the rest of the team
  • Can’t adapt to the dynamic of the company
  • Uncomfortable with the tasks at hand

Most of the time, it’s not the person’s fault, it’s your fault to hire them wrong, but anyway you’re demanding something you should have validated you’re unable to demand from that person. Aren’t you ashamed of yourself?

Ask yourself, did I checked this person was qualified for the job and a fit for the team and company culture?

Pro tip: This is why you want people to be hired by the ones working with them, not by some human resources suit 3 floors above.

Why you need to fire them

  • If you don’t, it undermines team morale

If you work in a company where someone is not pulling his own weight and everything is fine, would you be motivated to do your best work? Keeping a healthy team is your responsibility.

  • Work doesn’t get done

There’s no acceptable reason for having someone do a 50% work, it’s your job to find someone giving 100% on the position

  • Lowered standards

If you accept a job at half the quality from a person without the skills, hardly anyone will believe that quality work is crucial for success.

  • Opportunities by the thousand

A job is not a lifelong incarceration and evaluations are never absolutes. Someone who doesn’t fit in a team can shine in others. Never try to hard to make a pig sing, it wastes your time and it annoys the pig.

What is your responsibility

Being unemployed is a stressful situation, so sending someone home isn’t something you do on a rage day you’re mad about traffic congestion.


  • You talk

Being crystal clear in your communications is the most undervalued skill in software development. People has a life. People have problems. Never thought about it huh?

Personal issues may impact work performance and you should be supportive. It’s also reasonable to think the company may have a bad time someday and your team won’t jump ship. So you don’t let people down, period.

Beware, this is not about blind loyalty. I’ve met people with a different problem every single week, and some companies are definitely a sinking ship.

  • You do gymnastics

I have my fair share of bad hires, and I’ve paid for them with a lot of personal time. The usual time is the one you spend helping someone adapt or acquire missing skills. It doesn’t always work, but it’s your job to try.

How long you do gymnastics is inversely proportional to the level of seniority of the subject; I’ve done a year and a half, and I’ve done two weeks.

Making the call

If talking doesn’t help, and gymnastics ain’t losing any fat; best for both is to break up.

As in any relationship, some people like to create uncomfortable situations in order to force the other be the one doing the break up.

Don’t be you.

On one side, you’re a chicken shit, on the other, it contaminates your opportunity to stand by something, letting someone go is also the time when people see what you think is important, what you think is critical, and what you think is unacceptable. So, have your company clean, and make the call.

Just be clear and avoid absolutes, “you are no good” is almost never the case. “We aren’t a good fit” is almost always certain.

Wrapping up

When communicating the leave, I prefer sending an email to the team, it takes the drama out of the situation. If you’ve done your homework this should be expected, and most of the time your team will be grateful.

Avoid by any means justifying yourself on the decision. Trashing a person that’s not with you anymore to justify your call brings bad karma.

As the one in charge you’re not the one to be presented in a good light, do the shitty job, take the blame, and shut the fuck up.