What Qualities are Necessary in a Good Team Lead?
Midnight Thunder asks: "We have all had our share of team leads and some of us have been in
the position ourselves. I would be curious to know what things you have appreciated from your team leads and what you didn't like. Also,
for those of you who have been in the position how you found it. The main reason I ask is because this offer has been given to me as a carrot and I would like to make the right choice, and if I take
it learn from other people's experience how to be a good lead."
the ability to effectively run interference for the team, allowing them to focus on their tasks at hand is *very* valuable trait for a leader to have. there are some terrific books on leading technical teams - Debugging the Development Process (Steve Maguire), and Peopleware (Timothy Lister and Tom DeMarco) come to mind.
I'd recommend the advice in The Career Programmer: Guerilla Tactics For An Imperfect World. If you do this (and help the members of your team to do the same), you'll avoid many of the problems that typical programmers have dealing with the realities of a corporate environment.
More than anything, you need the human qualities: humility, forgiveness, optimism, caring. Being good at the technical side: scheduling, risk management, and so on, is a necessary but not sufficient condition for being a good leader. The human side is the other condition.
Books about the technical side:
Here's a book about scheduling: Slack by DeMarco.
Another DeMarco book: The Deadline. It appears to be a book about managing a factory. It's not. It very much applies to software.
Don't forget Peopleware, again by DeMarco (really, read everything DeMarco writes). This one is very much about software, and is right on.
Back to the human side of being a leader, be sure to read Managing from the Heart. I hope you aren't put off by the title; it explains better than I can how being humane is good for you, good for your employees, and it's even good business.