The first thing to get people to run in the right direction is to give them bearings. Which direction do we want to be running? A manager should be responsible for that and on the steering wheel at all times. If we leave it up to the young and eager developers we’ll all be running really hard, but probably in opposite directions. The first thing a manager needs to do is direct people in the right way. This cannot be forced however!
If somebody is being force fed he’ll throw up eventually, leaving a big mess behind. The thing with good managers is that the people usually come to them to ask them for advise on how and what to do. It is a combination of both knowledge and a natural born leadership capacity that makes this work. You can not rest assured however that this will continue to work without effort.
People will only keep continue to ask their manager on what and how to do things as long as the manager is approachable and patience. A good manager cannot be out of office most of the day and should take time to really send somebody in the right direction. That takes skills.
Teaching is one of those skills. A good manager will not give you the answer to your questions. It will ask you questions that will get you to your answer. A good manager is like an oracle. Teaching is not about using a red pen and pointing out what somebody is not good at. It is the opposite way around.
Another thing that makes a manager a good manager is that he or she can delegate responsibilities without losing track. They’ll have to have authority to make people work for them and they should not be afraid to point out to someone that he or she is lacking behind. Again, this cannot be forced, it’s got to be something that comes naturally.
The last thing I would like to mention is bonding. A good manager is the glue of a group of workers. All workers need to trust the manager to cover their backs if they do what they were told to do. A good manager can scent frustrations within a group, and knows when to act.