views:

715

answers:

11

What was the background of the best manager you ever worked for as a software engineer ? I'm interested to know if my experience (which mostly matches the stereotypes of managers with a technical background understanding the task at hand but not being very good people managers or motivators, and vice versa for people with a management background but less technical know how).

My best manager was a developer for just long enough to really understand the job, but still kept up with the latest technologies so that he was able to make informed technical decisions. He combined that with great business knowledge and good people skills - a rare bird indeed.

+17  A: 

Rare, indeed.

I think a good manager has to be technically astute to manage technical people, yet still be able to "let go" and not have to be the smartest person in the room who is on top of every detail and micromanaging every decision. They have to be informed enough to maintain the respect of the techies they manage yet able to let them surpass his/her high water mark.

A willingness to treat people differently helps. We're not all the same.

A touch of humility goes a long way.

Integrity is a must. Be consistent in thought, word and action. Don't throw your people under the bus for political expediency.

Humor is something I admire.

duffymo
Well said. I couldn't agree more. +1
Mat Nadrofsky
+4  A: 

Having been a software engineer is a big one. Some domain knowledge in your business is another plus. Being able to mentor new out of school hires. In a small company, a semester of accounting and economics are good for understanding the money issues.

Brian Carlton
+1 - nice answer.
duffymo
+4  A: 

A software manager has to have been a software developer of some sorts in the past. I think it would be hard to take orders from a manager who has no idea how software works.

To manage a group of people one must be about to relate to that group. It would be very difficult to be a direct manager of developers with no developing experience because s/he does not understand what it takes or what it is like to develop for an entire day.

Of course there are exceptions and the exceptions probably start with GREAT COMMUNICATION.

Berek Bryan
+6  A: 

Many developers will tell you that being a software developer is a requirement, but I've had good managers that were not. In fact, the best manager i've ever had was an ex-marine.

Why? Because he trusted his staff. He ran interferance for them when upper management tried to interfere, he went to the mat on decisions that we told him were important, and he called us on our bullshit. He was very good at motivating us to get the job done, and spared no praise when we did a good job.

Good management is something that has little to do with the industry, but everything to do with the knowing people and how to instill loyalty. A good manager can turn his rag tag group of developers into a team, and get them to virtually walk on water or pull a "scotty".

Of course there are downsides too. A good manager gets you to do things you wouldn't normally do. Work harder. Stay later. But you do it because you want to, not because you have to.

Mystere Man
You had me until the part about "getting you to do something you wouldn;t normally do like stay later"
Tim
That's why they're downsides. The fact of the matter is, successful projects have deadlines, and they're always shorter than developers would prefer.
Mystere Man
+4  A: 

The ideal manager will have been a developer at some point, but should not really consider himself a developer now. There are too many important management things to look after to be actively developing code for the project.

The ideal manager will have solid people skills. This doesn't mean he needs to be an extrovert, but it means people need to be comfortable talking to him. He needs an ability to empathize with people. He needs to care about their development.

The ideal manager needs to be great at delegating. He needs to understand he should define the outcome and stay out of the way of the process.

The ideal manager should be able to ask proving questions. He needs to be able to sniff out a problem with minimal information.

In all likelihood, this person will thus not have been the best programmer on the team. They should have been solid, but if they were the best, their skillset is probably honed for a different task.

Steve Rowe
+2  A: 

The best manager I worked for had been a developer and was a good one. I have had many many bad managers who were developers as well.

The actual management work has little to do with the technical background, but it is necessary to have an understanding of the work involved. Thus it is useful as a software manager to have a software or engineering background.

Not having that background is hard to overcome, in my opinion.

Tim
+2  A: 

I think the most useful experience to have before going into management is to have had their own really good manager. A manager who's served under a great manager has a good role model, a pattern to follow, and perhaps someone to go to for advice. He or she won't need to reinvent the wheel and develop management techniques and skills totally from scratch.

Chris Upchurch
A: 

Experience delivering polished, useful products that people want to use and/or buy.

MrDatabase
A: 

A non-technical manager is only really at their best when all of the technical folks under them are good. If you're dealing with one or two (or more!) bad developers, only a technical manager - or the willingness to fire the bad apples - is going to help.

That said, if you have a good technical team, you don't necessarily need a technical manager.

Dean J
+1  A: 

I've had a variety of different managers, but I would say this about the best ones I've had:

  1. Friendly - They were friendly to those under them. This makes it easier on the underlings to chip in and help out a friend if a favor is requested or some other request that may be outside the typical job duties.

  2. Humility - Knowing one's place and not flaunting what they know.

  3. People skills - Can they talk shop and talk non-shop equally well? That also helps, as well as knowing when to drill down into the details so that if I wondered why I have x GB of RAM in my workstation, a rationalization can be communicated as well as understanding what trade-offs are done for what I have. Also in here is understanding some of the points in books like "How to Win Friends and Influence People" as sometimes people aren't that hard to manipulate at times.

Talking tech is about the closest I'd get to having had to have been a developer as if the manager can get someone to be productive and grow, isn't that what really counts at the end of the day?

JB King
A: 

The ideal software manager would not exist at all.

But seriously, just go to the Tao Te Ching:

 "The best rulers are scarcely known by their subjects;
 The next best are loved and praised;
 The next are feared;
 The next despised:"

 http://www.taoteching.org/chapters/17.htm

The best manager I ever had gave me 4 months of work to do and then left me alone except for siphoning off periodic status updates.

Matthew