From ManagersDontCode: I'd like to give an opinion on the subject (I'm pretty sure I have one if I bother to look for it), except that I don't know who or what we're calling a "manager" on this page. Maybe I'm a manager, or maybe I'm not, I'm not even sure... Please help me out, folks - fill out the list below. -- LaurentBossavit
People are expected to do what you tell them to do.
This strikes me as a somewhat unreasonable expectation. -- AnonymousDonor
When my manager asks me to do something, I do it or explain why it should not be done. I expect the same from my subordinates. Is that not reasonable? Or would it be more reasonable to restate it as "There is a set of people over whom you have authority"? -- KrisJohnson
If you are expected to coordinate the work of a team of people; and summarize the team's progress for your manager; then you may be a manager. However, there are other roles where this might be part of the job description, such as technical-lead and possibly mentor/coach. -- DaveWhipp
If you have the authority to assign tasks to people, then you are a manager. You may also be a technical lead, or chief architect, or janitor, or whatever, but you are definitely managing people. -- KrisJohnson
(Just a reminder, the main point here is to pin down who counts as a manager for the purposes of the question raised in ManagersDontCode. I asked the question because it's important, to me at least, that I am still coding. I was much less clear-cut on whether I counted as a manager. There's the additional question of whether "manager" has too broad a scope for the question in ManagersDontCode to be answered definitely. Is our CEO a manager? Surely. Is it important that she should do some coding? Maybe not.)
I think you can qualify as a manager pretty easily, but ManagersDontCode was targeted at the subset of JustaManager?s. A JustaManager? (like JustaProgrammer) is someone who is 'supposed to' only do managing (in the 'culturally accepted norm, not necessarily right or wrong' sense of 'supposed to'). -- AnonymousDonor
In ManagersDontCode, I assume the "Yes, but they should!" position is that those who manage software developers should themselves be coders. The list of "You are a manager if..." conditions above applies where the people being managed are programmers or other people involved in development. -- KrisJohnson
I took the "Yes, but they should!" to mean that managers of programmers would do better if more of them understood programming (and a great way to do that would be to do programming). Which I think is in agreement with you, Kris.
I think we agree with the definition of manager, and with point of contention of the ManagersDontCode page. (But I do disagree with the idea that managers should be encouraged/forced to code once in a while - see that page for my opinions.) -- Kris
A manager manages resources other than his or her own time and effort. He or she has authority over the allocation of some resources (people, equipment, money) and is accountable for what is accomplished with them.
This may or may not involve hiring, or firing. If people are involved, it would involve organizing, motivating etc.
Does the above mean "authority over the allocation of resources" in the sense of being able to say, "let's put more people on this project", or only in the sense of being able to say, "Bob and Carmen are working on task X and Greg on task Y, I'll reassign Bob to Y"?
Management isn't necessarily by-project. So the two can be the same thing. If I can put Bob onto project X, that's re-assignment.
That doesn't answer my question, I'll try to be clearer. In the above definition, is a manager defined as somebody who has the authority to "spend" for resources? E.g. I'm working with a team of 3 people; I'm "responsible" for what the team does, but do not have the authority to bring more people onto that team (or buy equipment, or award bonuses, etc.). Does that fit the above definition of a manager?
Yes. You're responsible for the resources assigned to you to manage. Ergo, you're a manager.
To expand on that a bit: if you can hire/fire people that "work for you", then you are a manager. However, the authority to hire/fire is not required for one to be a manager. For that list of conditions at the top of the page, if any of them hold, you are a manager - you don't need to meet all of them. -- KrisJohnson
More generally, a manager decides how to utilize the enterprise's resources. She manages them. Some times the resource is labor: who works on what project. Frequently it's time or money. The most important thing that a manager can do is manage hassles. Make the most of your other resources by eliminating the stuff that leads to Dilbert cartoons on the walls.
For instance, today I paid $5 of my own money to buy paperclips. We had run out and the big "manager" had taken over 3 weeks to approve a requisition for supplies (the reason, unsaid, will both bore and enrage you). Of course, I won't get reimbursed, but we've saved at least that amount already by nipping the agony in the bud.
I spent hundreds of dollars of my own money to buy incidental items during my last project. It was well worth it to me to avoid the hassle and delay of going through official channels. And it helped to assuage my managerial guilt over making more money than those who were doing all the good work.
"guilt over making more money than those who were doing all the good work" Don't sell yourself short. Part of the manager's job is to create an environment where everybody can do all the good work. In a perfect world, there are a sufficiently small number of hassles and delays so you can do some of the good work too, but I haven't found one yet...
See also: