I am seeing a lot of programmers turning away from management and administration roles. They want to build stuff. And as a result, a lot of these positions are filled by non-technical people. I fail to see how they add value. Is scheduling meetings, booking offsites and other administrative work enough to justify their role?
-
10What percentage of all software teams do you think could operate like that without egos and agendas getting in the way? – ozz Jul 26 '13 at 18:09
-
30From the [Tao of Programming](http://www.canonical.org/~kragen/tao-of-programming.html): A novice asked: "In the east there is a great tree-structure that men call 'Corporate Headquarters'. It is bloated out of shape with vice presidents and accountants. It issues a multitude of memos... How can such an unnatural entity be?" / The master replied: "You perceive this immense structure and are disturbed that it has no rational purpose... Do you not enjoy the untroubled ease of programming beneath its sheltering branches? Why are you bothered by its uselessness?" – apsillers Jul 26 '13 at 19:58
-
possible duplicate of [I'm a manager. How can I improve work relationships and communication with programmers?](http://programmers.stackexchange.com/questions/92862/im-a-manager-how-can-i-improve-work-relationships-and-communication-with-progr) – gnat Jul 28 '13 at 07:45
-
2[Rather recent writing by Rands](http://www.randsinrepose.com/archives/2013/07/15/entropy_crushers.html) revolves around some of these issues; I give it a seal of recommendation. (Not to mention he has a lot of other great writings on management, too!) – Jari Keinänen Jul 31 '13 at 04:11
6 Answers
I fail to see how they currently add value and is scheduling meetings, booking offsites and other administration works enough for their role?
Don't underestimate the amount of interaction your manager does with other departments. They handle budgets, training plans, HR paperwork. They protect the developers from getting sucked into meetings with other departments and provide a unified front for your group.
In short, their job is to protect self-motivated developers from all of the other demotivating things that exist in business.

- 108,850
- 29
- 239
- 365
-
4
-
20Very +1. We occasionally get "leaks" through the system and a small idea of what our managers and especially our Product Owner go through. I do _not_ want to deal with that daily. – Izkata Jul 26 '13 at 18:42
-
1I know these are important, but I don't get the relative importance in software development team and the value for these. – Senthil Kumaran Jul 26 '13 at 18:55
-
17@SenthilKumaran As a developer, would you rather spend two hours with a manager from another department discussing why the software is not complete, or would you rather spend those two hours writing code? You know how difficult it is to explain technical issues to your manager. Imagine trying to explain it to someone who knows even less than your non-technical manager. The best non-technical managers prevent their developers from all the things that would waste the developers' time that is better spent coding and testing. – David Navarre Jul 26 '13 at 19:41
-
5This over and over. Even for a technical manager, this is still the biggest part of their job. – Earlz Jul 26 '13 at 20:51
The best managers are magicians. They make the rest of the company disappear for their developers. I can't remember the exact quote from Joel but it was something to the effect that it's management's job to make sure there's a fat Internet Pipe, a beast of a machine, and lots of caffeine so all the developers have to worry about is what they do best.
A good manager is the voice of your group to the rest of the company.

- 368
- 2
- 12
- 27

- 21,684
- 3
- 46
- 83
-
4[Joel quote probably adapted from here?](http://www.joelonsoftware.com/articles/DevelopmentAbstraction.html) – MarkJ Jul 26 '13 at 20:42
As it applies specifically to software development, there are two sorts of value-adding roles for managers: project management and team leading.
A project manager interfaces with clients and middle management, which is a time saver for the developers. Often there are clarifications or scope changes that come up in projects, and it is helpful to clients and middle manager to have a single point of contact. Trying to field questions from every member of a development team leads to unrecorded project decisions and undocumented commitments, the bane of scope management.
On the other side, a team leader is involved with career/skills development, making sure the workload is appropriately distributed among team members, and providing resources and rewards commensurate with the individual contributions and needs.
Neither of these roles requires a heads-down programmer, in fact somewhat the opposite. A programmer will often jump to a code-writing task as the first response to a question or crisis, and it's helpful to have someone whose job is to ask whether that task really needs to be done.

- 826
- 1
- 8
- 12
-
6
-
9@DavidNavarre - IMO non-technical managers have trouble seeing anything... – Vector Jul 27 '13 at 10:10
-
13@Vector: what you seems to be referring to is not non-technical managers, but incompetent managers. – Lie Ryan Jul 27 '13 at 17:39
-
@Vector: It brings to mind [Dilbert's PHB](http://en.wikipedia.org/wiki/Pointy-haired_Boss), but I don't think this is the same as a non-technical manager. – hardmath Jul 27 '13 at 20:14
-
@hardmath - I understand :-) Your answer is really included in what the OP granted,as per the edit. The point I'm trying to make is that as far technical stuff is concerned, they need to butt out. I have some bitter experience in these matters... "A little knowledge is a dangerous thing" - I'm sure you get my drift. See my answer. – Vector Jul 27 '13 at 21:02
-
@Vector agree that they should not over rule you over technical issues, but at the same time they have every right to make sure that you are doing the work in the timely manner (or when you say you would deliver do it). A good manager will have a lot of reporting tools to track your progress to get an overall picture of how well you are performing. Many also just do not work with developers, but probably work with cross functional teams - UI/UX designers etc. – bobo2000 Aug 25 '16 at 16:05
-
@bobo2000 - _but at the same time they have every right to.._ . Only if they have the technical expertise and tools to make such an evaluation. True Story:New PM joined our firm, asked each 'what are you working on, how long will it take....' I told her I'm working on a brand new project than nobody really knows much about at this point, so it's hard to say how long it would take. She then asked me this: **How many functions do you think you will need to write.**. I told the big boss she showed herself incompetent because of that question, and I would disregard her. (He was fine with that.) – Vector Aug 26 '16 at 17:21
Along with the other benefits mentioned, the non-technical manager may do a better job of making final decisions when there is an impasse amongst the experts. I know this sounds counter-intuitive, but the good non-technical managers understand the strengths and weaknesses of their people.
Example: Two programmers debate over which server to use for an application. In some sort of make-believe democracy, they both get their one vote, so no decision is made. This war could go on forever (and with some technical people it will). Someone has to step in and arbitrate this disagreement and get the project going. A good judge will lean to the opinion of the one with the most expertise in this area.
Just because someone lacks talent, skill or knowledge in an area doesn't mean they can't identify those who do. Recognizing talent is a talent.

- 36,816
- 2
- 57
- 124
-
1Also, a non-technical manager is available to address the team's needs instead of writing code. – JeffO Jul 26 '13 at 18:00
-
1"Along with the other benefits mentioned, the non-technical manager may do a better job of making final decisions when there is an impasse amongst the experts." Non-expert has the least amount of info about a specific topic. He can only take "sides" with one with the most expertise in this area (or choose a solution that he thinks it's best). But that doesn't mean his decision is right. Solution from a less experienced programmer can be better but the non-expert couldn't know that. http://www.joelonsoftware.com/items/2006/08/08.html – Christian P Jul 29 '13 at 09:03
-
In such a situation, an often underestimated part of management is not always letting the best people get their own way. A good manager will read the situation well and will make a judgment that may not be technically correct, but will be politically correct. If the argument is not over something important, the manager may prefer the person who needs more encouragement or is being bullied by the other developers. It's a judgment call and a difficult one sometimes, but that's why they're paid the big bucks. – Stephen Aug 02 '13 at 00:50
-
@Stephen agreed - good manager will know how to manage his people (e.g as you said giving encouragement to people etc.) But if we're speaking strictly about making (important) technical decisions manager has the least amount info about the problem and is probably wrong person to make that decision. – Christian P Aug 02 '13 at 09:45
-
@Stephen : _but will be politically correct_ - that is often a very good way for a non-technical manager to **lose all credibility** with technical staff. Very risky IMO. – Vector Aug 26 '16 at 17:26
Is scheduling meetings, booking offsites and other administrative work enough for their role?
Yes. Perfectly sufficient. They are also good for calling building management when there is a problem with heat, AC, etc; making sure vending machines and water coolers are well stocked and maintained; bringing in special goodies for noshing; keeping the office clean and orderly...
Do your best to think of other such tasks in order to keep them busy and out of trouble...
Their most important role? Staying out of the way and not mixing with programmers, and making sure that other non-technical people do the same.
Consider a development team like an MLB ballclub (the analogy is quite a good one IMO): The managers are always former players - only they know how to handle 'hands on management' of a team of highly skilled, nerdy, idiosyncratic, professionals, who do things that most 'regular people' cannot.

- 3,180
- 3
- 22
- 25
-
You also get a lot of Managers in Sports that were not former players, or were not very good former players - Arsene Wenger, Jose Mourinho, Andre Villas-Boas anyone? that turn out to be excellent managers. You need strong interpersonal and orgranisational skills to be a good PM which is NOT coding. – bobo2000 Aug 25 '16 at 16:02
-
In my experience non-technical manager are best suited for this role, besides adding value by avoiding company stuff interfering with developers work, they foment partnership between developers(cause it's well know that developers are introverts http://www.unwesen.de/2012/03/16/introversion-productivity-work-environments/), good ones let the team work at their rhythm but caring about visibility.

- 135
- 3
-
2Your answer would be stronger if you cited some external references or expanded upon your tenets. Stating `cause it's well know[n]` is a weak form of evidence. – Aug 02 '13 at 03:27