I like reading your writing so I would appreciate your input/feedback either here or you can email me at gmail, whichever is more convenient.
> Nobody likes low-performers, even when you're flush with cash. Fixing their mistakes is demoralizing for your high-performers. The word gets around that you have low standards, and it's hard to recruit.
Fixing mistakes is part of development. I am yet to be part of a team that never made a mistake. Mistakes are how we learn and get better.
If the same mistakes repeat, THEN you have a problem but if a single individual is to blame everytime, then it's not the individual's problem - you have a bad team. Your team has failed at teamwork - the primary focus of any team.
If you have a team of dozen engineers making a car, the car does not drive until all the parts are not only in place but they all work well together.
The way to make all parts work well together is to have the designers of the parts communicate and work together, well.
If the engine guy is not talking to the intake and exhaust guys, don't be surprised if there are leaks at best or the engine blows up at worst.
I AM assuming each team member went through an interview process. If the going was tough where you could not interview and had to let just any person in, hopefully this person helped you through the tough times.
What value does the interview process provide if you can't figure out if your candidate is a high-performer or not?
Why did your interview process select a low-performer?
Also, performance is the output of a team - a single person should not be expected to provide high-performance day in and day out.
That's impractical to expect out of a human being. A machine and a person have vastly different characteristics.
If my team is working well, we will have a high performance team. There is no other way to have high performance sustained over a long term.
Each team member needs to actually looking forward to working with each other.
The other extreme is programmers work in these silos and come up with solutions that barely work well with each other and then there's blame game being played.
Why do that nonsense? Save money? No - of course not!
Just work as a team!
> The only way to get your money's worth from them is to put them in death marches and grind them down until they burn out and quit.
I don't follow.
Death marches?
First of all WHY do this at all?
What's wrong with the alternative "Hey, it looks like it's not working out. We will be letting you go and support you in looking for a job elsewhere over the next X days"
At one point in time in the past, you and your team interviewed this person and found them useful - what changed that they are no longer useful?
Was an error in hiring made?
Own up, take responsibility and move on. Make the interview process better.
Did the person expect to get a larger bump come bonus/review time that did not happen and now they are demoralized and upset?
Own up, take responsibility and move on. Clarify better what bumps and bonus would be like and how much effort that would entail next time.
> I am always extremely suspicious of claims that a company is going to lay off its poor performers and magically be better. If they're telling the truth, they are actually saying that their existing managers are incompetent.
I also don't follow this and want to hear more about this perspective.
What happens to the people working in mining, transporting and delivering ice from Iceland to California when refrigerators get invented?
Are those people inherently low performers or has the industry they work for shifted beneath them?
We (developers) work in an area of high specialization and the market values us for it (to the tune of six figures).
I have worked at both product and service companies before where entire departments were laid off because a contract did not get renewed or the market changed.
Most employees AND manager involved there were and continue to be competent. We even hire and refer each other wherever we might happen to be to this date even though we met decades ago.