What kind of characters can promote the person more likely to be a leader in the team ?
Also, what do you think the responsibilities a leader should have?
It depends on what exactly you mean by "team leader" ;-p
I've seen places where there is a distinct split between the technical lead (who might have more accountability for technical decisions, design issues, the "go to guy" for coding snarls; etc), and the development lead, who is primarily a facilitator, with two main jobs:
- resolve any non-coding blockages that arise
- act as the main liaison to the client/customer/user-champion/whatever
i.e. anything to preserve those few precious golden hours of coding. They might also do some coding on the side, but that isn't their primary job.
Main skills of a technical lead:
- experience of the subject, product, APIs, language, etc
- understand impact of changes to the above
- ability to make technical decisions
- general code problem solving
- accountability
- good at explaining technical subjects
- a "perm"
Main skills of a development lead:
- communication
- people management
- knowledge of the client/etc
- time accounting
- ability to steer the development focus
Main qualities team members are looking for in programming team leader:
- Technologically savvy.
- Understanding of business domain.
- Available and approachable.
- Fair.
- Gets along with people (good manners).
Main qualities management looks for in a programming team leader:
- Commands respect of the team.
- Business savvy.
- Gets along with people (good manners).
- Loyal to the company and company management.
- Trustworthy.
- Gets things done.
- Gets others getting things done.
- Technologically savvy.
- Understands software development process.
Main qualities programming team members look for in other programming team members:
- Not a jerk (has some manners).
- Pulls own weight (reduces entropy, instead of contributing to it).
- Not work shy.
Main qualities management looks for in programming team members:
- Able to turn cash into working software which is worth more than the amount spent.
Any leader should have following qualities:
- He should be technically sound
- He should be able to delegate work
- He should be able to show the way when people get stuck
- He should not very hesitent in trying something new
- He should be a good listener, respect other people's opinions and a good conflict resolver
- He should be respected by all the team members