4 ms·
I'm going to flip the question, because we get a little more insight with it upside down. How do you know a developer is doing a bad job? Is it because they do
by DanielBMarkham 10y ago
I'm going to flip the question, because we get a little more insight with it upside down.
How do you know a developer is doing a bad job? Is it because they don't code a lot? They sleep late? Maybe wear the wrong clothes?
I'm agreed with the author that with an organization of any non-trivial size, all we have is subjective data, since effort and value are so completely decoupled in tech.
Unless you know you're going to be funded for life, every tech group has a difficult question it must face sooner or later: how do you deal with incrementally decreased funding, where somebody has to be released?
The best I've got is that the team has to vote somebody off the island. I don't like it, but it's a decision that must be made, and managers aren't the ones to make it. I would add to that: the team includes the developers, the managers, and the customer/users that interact with and receive value from the team.
It's an open question whether or not you decide to do this on a regular basis or just save up and whack somebody with a vote all at once. I don't like forced ranking, but I would prefer a rolling average of votes over a long period of time as opposed to an all-at-once vote. For some reason it seems more humane to me.
- emodendroket 10y agoAsking the team to vote on who to fire seems like it'd be awful for morale and team trust.
- DanielBMarkham 10y agoCompletely agreed. What is the alternative? Drawing straws? A game of chance? Should the team be responsible for downsizing itself? If not, how does that happen? Perhaps the team force-ranks itself once a month or so using a 360-like method -- but the results are never read and kept secret until/if they are ever needed?
- emodendroket 10y agoThe manager should use his subjective judgment, including but not exclusively asking other team members for their opinions about their reports, and everyone should be on the same page about how well or not they are are doing. Any scenario where someone could be blindsided to learn their performance isn't up to snuff is just really poor management. Anybody watching that happen with their head screwed on straight is going to head for the exits as soon as possible (not to mention the potential for personal grudges in any system that relies entirely on peer input to decide to fire somebody).
- lmm 10y agoDrawing straws would be better for morale I think. So yes, if those were the two choices I'd prefer drawing straws. I think management should make the decision though - even if they have to pick someone at random. The heart of management's job is to make this kind of large-scale decision and carry for responsibility for it.
- DanielBMarkham 10y agoI want to make sure I understand you. You are working in a team of, say, six. You are working alongside some business folks and helping them make money and support their family. Your boss, let's say, is a nice guy but an old mainframe IT guy who doesn't really grok what kind of things the team is doing. There is not enough money for all six to work next year, but the company thinks they can pay for four. You'd rather have a manager make the call, a guy who doesn't know really what the team does or the individual contributions of each member -- than the team? The team, who if push came to shove could probably agree on the four most qualified people to help everybody else in the coming year keep their jobs. I don't follow this. I think the team is the most qualified, and I think if you care about the value you are creating then the team is also on the hook to make the tough decision. Now how it's made and such? I have no idea. I just know if you care about the work you're doing, the people closest to the work are going to be the most qualified to make businesses/management decisions like that. But maybe I missed it?
- emodendroket 10y agoIf you have no idea what the team does or who is contributing how much until you're starting to fire people then you aren't really managing anyone. Even if you are completely nontechnical figuring that out should be within your grasp.
- DanielBMarkham 10y agoI disagree, but my intent was not to argue. I've found it quite common even with developers working side-by-side for there to be a big gap between what they think is going on and what's actually going on. Thanks!
- RUG3Y 10y agoIf you turn up the heat a little, you can just get some or all team members to voluntarily quit. Boom, problem solved.
- rapfaria 10y agoAgreed. Hard to define what is a good developer, but this would be terrible management.