...One of the most important features a new employee should have is compatibility with the spirit of the people who already work there.
I am convinced that gaining insight into the developer's real personality is just as important as checking for professional competence, because one bad fit can destroy an entire team.

from Hiring Developers - You're Doing It Wrong

Is this true? And, if so, is it true for managers too?

  • I had to reconsider how to approach this question after reading the link. Maybe you could summarize some of the points?
    – JeffO
    Commented Apr 1, 2011 at 20:10
  • Rather depends on the size of the bunch.
    – Orbling
    Commented Apr 2, 2011 at 0:07
  • 1
    YES. It takes two to cooperate; it takes one to be uncooperative and wreck it.
    – user16764
    Commented Apr 2, 2014 at 21:16
  • Vote them off the island.
    – user251748
    Commented Jun 1, 2017 at 15:30

6 Answers 6


More than you realize.

Think about it, if you have to fight with someone every day, it gets exhausting. When that happens, only a few options are available to you:

  • Give up and let the bad fit do what they want all the time, even if it destroys the project.
  • Leave the team/company to avoid the bad fit.
  • Fire the bad fit and hire someone you can work with.

Continual arguing demoralizes the team, and having to justify every little pedantic point sucks up real productivity. That one person is like that with everyone, so you might see the attrition rate of your team increase while the irritant is still there. It gets tricky with managers, because you don't have the authority to fire them.

In an ideal situation if someone is acting up, sit down with them and tell them nicely but firmly that their actions are destructive. Explain how you would like to see their behavior change to help the team get along better. If they receive it well, great. If not, resort to one of the three options above, because it'll get worse. One thing's for sure, unless you bring it to their attention, there's no chance of change.

  • 8
    +1. Yes, yes and yes. My mantra has become "hire on team fit, pay on experience and skills"
    – pdr
    Commented Apr 1, 2011 at 17:15
  • I was going to post an answer but you've pretty much said it all!
    – Kenneth
    Commented Apr 1, 2011 at 17:21
  • 1
    Plus - as a team leader, you can end up expending so much time and effort on the bad apple, that your good ones start to feel neglected and even resentful
    – HorusKol
    Commented Apr 1, 2011 at 22:48
  • +1 for pointing out demoralization and productivity drop down. Commented Apr 3, 2011 at 11:11

Of course it's true. Fit is more important than most things. For instance if you have a team that works together closely and you hire a lone wolf, you can expect arguments, code that doesn't fit the design and does things in a way that the others don't like and no intention to fix it, lack of willingness to help others out when they need it, refusal to commit stuff to source control, rewriting code for no good reason except he didn't want it that way, etc.

If you have a group of friendly people who hang out together and you hire someone who wants to work in total silence, you will have friction. You may also have harrassment of the person who doesn't fit in.

If you have a group of people who want freedom to do things the way they want and you hire a process-oriented person, there will be continual arguments especially if the process-oriented person is the lead.

If you hire someone whose experience and background make them more of a beginner in a team where everyone is expected to be senior, you will have annoyance as no one wants to mentor the guy or help him learn as they expect he should be able to do it without help.

If you hire someone who expects special priviledges the other employees don't have - you can expect constant warfare. The feelings is "if Sally is so good she gets to work from home when I don't, then why should I help her out?" There is resentment when someone comes into a team expecting things (and getting them) that the others don't get especially when they haven't accomplished anything yet. Or there is resentment from the new employee side if they expect things and don't get them when everyone else is fine with the way things are. Then the unhappy employee will waste everyone's time complaining and dragging around like he is being tortured because he has to come in before 1 pm.


I'd say that yes it is true in both cases though here are a couple of links that may be of interest about groups:

On a bit of a tangent thought, Gallup Q12 has some interesting questions to measure employee engagement if one is interested in that direction of things. All of this isn't specific to developers though so maybe there are some unique things about developers that may make some of this questionable.


I wouldn't care that much about their "real personality". Your code doesn't depend on what your hobbies are, e.g. whether you are a romantic or a very down-to-earth person. What is crucial is that people exhibit flexibility and adaptability in business life. Their personal life is much less relevant. My workmate can be a boring person, as long as he does a good job and I can collaborate with him easily. I've worked with various people, who had varying personalities, and I simply learned to accept them as much as they learned to accept me. It's a job, not a marriage.


It's not just programmers that are affected by this. A good piece of advice I heard was 'There's no such thing as good hiring, only good firing.'


Rarely will someone have enough skills to over-come the disruption of a strong and productive team.

Members of poorly performing teams should be replace before they infect the new hire.

  • I first read this as: "few (difficult people) have enough skills to deal with being messed up by a well-functioning team"? I read the second sentence as: "if you have a crappy team, get rid of them all before you hire any new people." I guess so.
    – user251748
    Commented Jun 1, 2017 at 15:45

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