On Managing Developers
An anonymous reader writes: A columnist at TechCrunch takes a crack at advice on how to manage developers. He has some decent starting points. For example, "Basically a manager's job is to make other people more productive. What's one really good way to do that? Do the work that is getting in their way. Which means: find out what kind of important work your developers dislike the most, and do it for them." Also: "[D]on't bull$%^& anyone, ever. ... Speak the truth as you see it. Speak it diplomatically, don't get me wrong; but be trustworthy. Only then will you be able to trust others." But some of his statements are open enough to be nearly devoid of meaning: "Any particular process artifact is probably irrelevant. The finest tech team I ever worked on began every day with a daily standup; so did one of the worst, most dysfunctional teams I ever encountered. ... [T]he systems and processes you choose for any given project should be fluid, and flexible, and depend in large part on the team and the context." If you are or have been a developer, what qualities have made your managers good or poor? If you've been in position to do the managing, does you experience jive with this guy's?
Everyone would be great at it. Anyone that thinks you can find the secrets to being a good anything in a couple of paragraphs, just doesn't know very much about the topic.
Two of the SDEs I manage told me in their last review I was the best boss they've ever had. Here is my advice:
1) Do not judge anyone on anything except on whether they get their job done. If someone quickly does a good job, I don't give a shit whether they take the rest of the day off.
2) Lead by example. Do the things you want your guys to do. That means the hard things.
3) Imagine your team as a machine. You're the oil. Be where there is the most friction and smooth it out.
4) Sacrifice yourself for your team. If you can't get a reward from the company for someone who deserves it, buy it yourself.
5) Understand the perspective of your boss's boss, and explain it often to the team.
6) Say you don't know when you don't know.
7) Fight for raises and bonuses.
8) Don't talk as a boss most of the time, but when you do, have a good reason to.
These guys worked on the project that won us a nomination by a government agency for Small Business of the Year. The morale earned from being a good boss repays itself in improved productivity and reduced turnover. Plus you make friends for life. It pays to be a good boss.