Dave Farley does an excellent job going over the topic of how to lead technical teams. I highly recommend you watch the video.
Notes & Comments"Best Capitan is not always the best player".
Leads difficulty is to allow others to work in a way they wouldn’t. Micro management results in people who are unmotivated to pro-actively help.
Job of the leader is to serve the team and make them productive."Being a leader is like hosting a party, inviting everyone, providing drinks, and letting them have fun". He exemplifies being the communication point for a larger company where he worked as a lead."Avoid remote-control programming" through specs. He exemplifies Architects trying to do this through high-level specs.
To lead effectively you need to allow others to work in their way and let them make mistakes - safely.
The best team leads teach the team to find their own answers.
Consensus-based decisions. “I have strong opinions, but I hold them lightly”.
Praise in public and critique in private.
You should guide their performance with feedbacks constantly, don’t wait for a fixed date performance review to arrive. Dave mentions he thinks it is a failure to surprise his developer in a performance review.
If you find yourself in a position of delivery of bad news focus on them, don’t spend time about talking yourself and how bad you feel for delivering this bad new.