A friend of mine just asked if I had any advice for a person who’s just starting his first management position at a startup. Even though I have minimal management experience myself, I’ve been in all sorts of work environments, including a startup that grew from 40 people to 150 people and went bankrupt a year later, so I’ve seen a variety of managers and management strategies. I thought I’d share my advice here, even though I’m still learning to apply these lessons in my own nascent career as a manager.
- Your responsibility as a manager is to make your group as productive as possible. You are a shield for your group, protecting them from the rest of the organization so they can get things done.
- You go to the strategy meetings and sit for two hours, so that your group can be working during that time and get your two minute synopsis later.
- You deflect requests from the rest of the organization that will distract your people.
- You deal with schedules and Gantt charts and requirements documents because upper management wants those things, and your group’s time is better spent actually doing work on the project.
- If you’re a manager, be a manager. If you are trying to do anything technical while you’re a manager, you’re probably making a mistake. Your job is to be the interface of the group to the rest of the organization – give the technical tasks to the people you hired to do those tasks.
- There’s no such thing as authority. You can’t be granted authority by your bosses, no matter what the org chart says. To be a good manager, you have to earn the trust and respect of your employees and coworkers and bosses. If you have the org chart position, but not the trust that goes with it, you will be circumvented and undermined at every opportunity. You have to earn the respect of the people working for you by doing the things in point 1 above to make their lives better. To earn the respect of your bosses, your group has to consistently deliver what you say it’s going to deliver.
- Keep the lines of communication open. You can’t do your job as a manager if you don’t know what’s going on. If something is going wrong and your team won’t meet the schedule, they have to trust you enough to tell you so that you can do something about it. You also have to know what’s going on in the rest of the organization that might affect your group. This means you should be spending a lot of time talking.
- Fight the battles that are worth fighting. When I was younger, there was Right and Wrong, and when something was not Right, I attacked it with all guns blazing. I once ended up in an email flame war with the CEO over a topic that’s so stupid I can’t even bear to repeat it. It’s rarely good when the CEO starts an email with “I don’t know what the hell you’re smoking…” Save your social capital and your energy for the battles that are important, and let the other things slide. If your boss wants reports indented in a certain way, just do it – your credibility isn’t worth losing over that. If your boss wants your group to produce on a completely unrealistic timeline, that’s when you fight.
As an aside, I highly recommend picking up the book Managing Humans: Biting and Humorous Tales of a Software Engineering Manager by Michael Lopp. Lopp writes at Rands in Repose and the book is a collection of some of his best articles. I really like his advice on how to be a good manager, and much of what I suggest here is similar to the advice in his book. You can browse around his website instead, but I found the book form factor to be better.