We've all had good and bad managers. What's the best trait your manager can have to allow you to be effective in your role and allow you to love your job?
For me it's allowing creative freedom to make decisions.
We've all had good and bad managers. What's the best trait your manager can have to allow you to be effective in your role and allow you to love your job?
For me it's allowing creative freedom to make decisions.
Honesty. If he says that people have to work hard, then those who can't are offered training and those who don't want are moved or fired.
Gerald Weinberg defined leadership (leadership vs management - another time) as creating an environment that empowers people (Becoming a Technical Leader: An Organic Problem-Solving Approach).
Not a bad start.
Trust. If your manager doesn't trust you, not much else matters.
The worst managers I've had were genuinely nice people, but so nice that they were afraid of making a decision that somebody might be unhappy with. As a result, any one crank in the department could effectively veto anything (e.g., uniform code reviews) simply by expressing their dislike.
It's nice to have creative freedom, but it is more important to have leadership, to know that your manager is steering the group so you are all headed in the same direction, and ultimately that you can respect them.
The best managers I've had, inspired their people to believe in their own abilities (I suppose this is a type of pro-active trust.) While at the same time, they also shielded their people from office politics so they could do their job.
I don't know if this was a Spolskyism or where else it came from, but something about "if a programmer is in the zone and is walking down the hallway, about to trip over a chair, it's the manager's job to move the chair out of the way so the programmer doesn't trip and get knocked out of the zone."
Allowing me to experiment new things and take risks (As long as it does not cause any major issues), Trust
A good manager should do the following
And probably lots of other stuff ;)
organisation.
if a manager doesn't have everything under control, it's all going to go pear shaped.
A manager should:
Understand people and process - What motivates me to work at my best and deliver what will have the biggest impact. What people, structures and procedures could be put into my world to let me be at my most awesome in the role would be another way to view this.
Let's go through the list of bad managers I've had and see if there is a pattern.
Worst manager I had could not stick to a decision, we changed direction multiple times a day on a three year long project. This was also the guy who told me that if I reported the guy who tried to rape me in the office in front of him and about 20 other people, I would never get a promotion (I was a trainee at the time).
Next worst manager didn't want to make any decisions as all.
Next one on the list is the one who promoted his girlfriend from secretary to Software project manager. Oh yeah that went well as you can imagine. All benefits at this compnay were based on how close a friend you were to the CEO. Worse, if he decided for any reason he didn't like you those benfits came to an abrupt halt and suddenly the person was fired for leaving early on a Friday when it had been acceptable for years beforehand (and still was acceptable for his favorites).
Next one on the list rewarded people based on how clean their desks were (yes you were only considered a good employee if your desk was straightened up every day) - he gave an outstanding performance award to the person on the team who did the least and did it the most poorly but he had a clean desk (easy to have clean desk when you do no work!).
Another manager gave all the managers that worked for him a low performance rating so the entire bonus pool went to him. This did not go over very well at all. The next year the bonus pool was broken down by organizational layer not department! Another one was adept at getting the credit for things he didn't do while making sure the people who did do them were marginalized.
OK so far we have be decisive and don't change the decision at the drop of a hat (It's just as bad to refuse to ever revisit a decision). Don't play favorites and support your people especially when they have a serious problem. And don't take actions that make everyone who works for you determined to cause your downfall.
What about the good managers I have had? The best ones were willing to stand up to management above them for their people. They were leaders who weren't afraid to take an unpopular position if it was the right one. They listened to all sides and then made a decision. They treated all employees equally. They rewarded the actual good workers as opposed to the politicians. They mentored the less experienced and clearly told people who weren't performing exactly what needed to change to be an acceptable worker. They understood what their subordiates were supposed to do and could judge if they had done it well or not. They communicated well to the clients, other managers, and their subordinates. They gave credit where credit was due.
For the programming/development field, I think one of the most crucial traits is knowledge of how programmers think and behave. People in this industry tend to have a certain personality and behave differently than, say, accountants. If a manager doesn't understand this, they cannot be successful.
This knowledge of how programmers live/work/behave then serves as a basis for things like:
Don't measure programmers' contributions to the company based on lines of code committed
Don't micromanage; you may be right in thinking that your employee has done absolutely nothing all week, but it's probably because he hasn't reached that 20% of the time when he's purely focused and gets a lot done. Remember that programmers work in bursts.
If someone in your team wants to do something that's not exactly what you want him to do, but he says it will be useful in the long run or for reasons you don't understand, you should probably trust him. Stifling a programmer's creativity is a surefire way to lose all of your best people.
You manage resources, You LEAD people; they are the most valuable asset you have.
A good manager inspires his people to give him their very best, they love working for him / her.
Hmm.. After having two fistfists with you on one night he still goes for more drinking with you and you can come back to work on monday, just because you are good at what you are doing :-)
Wow there are a lot of good answers here...
I am a development manager and I see the most important aspect to management is communication.
Usually I like to set expectations with my team, however it's important to ensure that this is a two way process.
By this I mean a good manager should clearly communicate the expectations they have of their staff and what their staff can expect of them. Here's my list:
Your Expectations of Me
My Expectations of You