The software industry works strangely. It “punishes” good coders who understand computers very well by “rewarding them” with managerial positions, asking them to manage a bunch of incompetent coders!
Writing good code is a technical problem. Getting a team to write good code is a people problem.
Often, the new team lead is floundering. He does one or more of the following.
- Keeps shouting at people and make the work longer hours.
- Continues to do the major / crucial work himself.
- Rewards people who work like him.
- Rewards people who are able to communicate well with him.
- Uses the performance appraisal as a carrot or a stick.
- There is one fundamental truism they do not understand