in reply to Making the Business Case for Developer-Run Development

My boss and I are trying to make the case to our company leadership that the development team should be run by developers (at least a good chunk of them by me).

What do mean by "run by" ? Lead developer? CTO? Project Manager? Whats the role and what are its responsibilities?

The problem is that we believe this is not true for software development.

Why? You seem to feel quite strongly on the subject :-)

Looking back at the people I've had above me in the org chart over the years I'd say, on average, the technical ones tend to be slightly worse. Good techies that lack all political and social skills get promoted into management and do a terrible job of it.

One really good one is this article by Paul Graham

I'm not really sure how Graham's article applies. He's mostly talking about about hiring Great Hackers to code, and says nice things about Steve Jobs' management - who isn't a software developer by any stretch of the imagination.

  • Comment on Re: Making the Business Case for Developer-Run Development

Replies are listed 'Best First'.
Re^2: Making the Business Case for Developer-Run Development
by etcshadow (Priest) on Aug 11, 2004 at 02:09 UTC
    I'm not really sure how Graham's article applies.
    Well, he does talk about it in a few different places, but I don't think it could be more clear how he feels on the matter when he says:
    I've seen occasional articles about how to manage programmers. Really there should be two articles: one about what to do if you are yourself a programmer, and one about what to do if you're not. And the second could probably be condensed into two words: give up.
    He then goes on to justify this statement with a few paragraphs, too.
    ------------ :Wq Not an editor command: Wq
      He then goes on to justify this statement with a few paragraphs, too.

      Unfortunately I don't find the justification that compelling :-) The only management problem specific to non-developers he talks about is "if you're not a hacker, you can't tell who the good hackers are".

      First, there is an element of recursion there (how to you hire the great hacker that knows who good hackers are since you can't tell who a good hacker is?)

      Second there is nothing special about software development. The same is also true of all skilled professions (how do you know who the good designer is if you have no aesthetic skills, etc.)

      If hiring people is the only problem there are many simple solutions that good managers already know about (e.g. specialised head hunters, consulting in-house experts, auditions, etc.)

      Graham's article is a good read - but to my eyes it's about hiring great hackers to code, not hiring great hackers to manage. He even discusses mechanisms for isolating them from end-users to get them productive. Hardly a feature for a manager!

      The other time he talks about management:

      This is an area where managers can make a difference. Like a parent saying to a child, I bet you can't clean up your whole room in ten minutes, a good manager can sometimes redefine a problem as a more interesting one. Steve Jobs seems to be particularly good at this, in part simply by having high standards.

      he's talking about Steve Jobs - a non-developer.

      So I come back to the question - what exactly is your manager role's responsibilities, and why do you think that a non-developer won't be able to do them?

      (I'm not trying to say that a developer would necessarily be bad for the role. Good managers with a techie background do exist. I'm just saying that, for a management role, I'd be more interested in good management skills rather than good software development skills. Better a good manager with no developer experience than an average manager with developer experience. Good managers can learn what the need to know.)