

Ask HN: Should you fire average devs and have only talented devs in a team? - tablet

Let's say you have a team with 10 developers. Some of them are great, but a year later you discover that 3 of them are average (they have no talent). They want to change something and learn new things, but still they are slow, make bad decisions and other dev. outperform them.&#60;p&#62;Would you fire them? Would you give them a chance to improve? Other ideas?
======
variety
at least be humane about it.

you don't simply "fire" people for performing below expectations. do the extra
legwork, and find a way to get them properly "laid off", ie, "eliminate their
positions" -- which shouldn't be too difficult here, as after all you say
you'd rather hire more senior people -- so they can (1) get unemployment
benefits, (2) roll their insurance off into CORBA if at all possible (or the
equivalent of you're not in the U.S.), and (3) have at least a theoretical
possibility of rehabilitating themselves and getting another job.

"firing" per se is just plain vindictive, and seriously endangers their
ability to look out for their physical welfare on the short run, and to right
their course (in terms of finding a career that's better suited to them) in
the longer run

I know that you aren't particularly concerned with their welfare (you sound
like you're basically fed up with these people, and couldn't care less). but
the bottom line is that you still have to recognize that the company shares at
least SOME responsibility for the situation. (after all, who hired them,
anyway? was it, umm... you, by chance?)

and also, treating people humanely just happens to pay (considerable)
dividends. as in, the morale of the rest of the team, your company's
reputation (and your own reputation).

i've seen the (lingering) after-effects of letting go of people gracefully and
magnanimously, and of doing the opposite, many, many times. it's well worth
the money to do these things properly (and humanely).

------
timruffles
If they're average, not terrible, I'd agree with 37signals - there is no such
thing as rockstar people, just rockstar environments.

If you're not sure you've built an inspiring, learning environment where
everybody feels driven to do their best, are you sure a) it's them, not you?
b) anyone you'll hire will do any better?

The way you've worded it though, it sounds like they are a bit rubbish. Maybe
it's the kindest thing, it's painful all round if they're trying and failing.

------
davidw
"no talent" is "average"? That sounds a bit... well, wrong. Granted, really
talented people are orders of magnitude more productive, but "average" means
someone that's worse than half of people, but also better than half; more or
less.

~~~
tablet
OK, maybe wrong wording, but by average I mean people who will never exceed
your expectations and have moderate problem solving skills/or development
speed/or technical excellence attitude.

I am thinking about tough decision now, and so far I am going to fire those
average people and hire 1-2 great developers instead.

------
zeemonkee
It really depends. For example, you could have an average developer who has a
huge amount of domain knowledge. Their coding skills may be sub-par but that
doesn't mean they are not valuable. They may also have strengths in UI,
sysadmin, etc.

On the other hand a developer could be average due to lack of experience,
which is something that can be remedied by time and training - code reviews
can help, as well as a reading list etc. We all have to start somewhere. Give
those that show promise - but lack experience - some guidance.

It also depends a lot on where you are in the development cycle. Are you
mainly doing maintenance work, bug fixes, minor feature additions ? An average
team should do fine.

Where you don't want mediocre developers is in the early stages of a big
project - bad design decisions and poor programming practices can make later
development a nightmare.

I'm working on such a project right now and it's highly demoralizing - every
day I find a new WTF and I just don't have the time to refactor everything -
my recommendation at this point is to scrap the lot and start over, but that's
not likely to happen. That's the result of mediocre developers in over their
heads without a clue, and it can have a huge negative impact on your company's
productivity and bottom line.

------
maxawaytoolong
If you're in a 1st world country you can't just fire people for being average
without opening yourself up to a lawsuit. That's why good tech companies
develop harrowing interview gauntlets.

~~~
hga
The US is not a 1st world county???

Here you can't fire them "for cause" and deny them unemployment benefits
(which will increase your payments into the system going forward) but these
sound bad enough that it's probably worth it.

------
gexla
Case by case basis. There are many factors which can make a developer good for
the team.

~~~
tablet
Here are more details.

dev 1. very slow, but solid. Need constant guidance to solve problems.
However, can dig into boring/weird problems and reliable person. dev 2.
distracted by interned and have problems with focus. Knows a little about many
things, do many mistakes, but trying to improve. dev 3. was weak indeed from
the beginning, but doing much better after several months. He is 31 and I
don't think he will become great developer eventually.

------
DifE-Q
I would give them a chance to improve somewhere else.

~~~
tablet
why?

