Being a development manager is a tough job. You have to manage a group of skilled programmers to complete difficult tasks under unusually tight deadlines. As a development manager you are asked to deliver results from that group of programmers, and those results are usually linked to increased productivity or an improvement in revenue. The last thing that manager wants is to face delays because of one difficult person or conflicts within the team.
If you are that difficult programmer or that person that is generating personality conflicts within the development team, you manager hates you. He might like you as a person, but he hates to work with you because you make him like difficult. In this article by Sotiris Zacharopoulos, we learn a little more about this subject.
“You, as a manager, are responsible for two separate teams. The first one staffed by developers who are Ninjas. Each one of them are developing with a total different approach. They are convinced that their suggested solution is better then the others. The second one staffed by developers who are team workers. They have more than basic programming skills but they know how to collaborate each other. Which team do you believe will bring the best results over the time?”
The first group will probably wasting energy on trivial matters. There will be unproductive competition. They will pay more attention to their ego. Even if they could be capable for quality code, the manager probably will spent valuable time on trying to solve behavioral problems. Behavioral problems are serious because is very difficult to improve personality characteristics.
The second group will be committed to their work. The only problem that the team will have is the level of knowledge. But, this could be solved relatively easily. It’s up to everyone to develop further their skill-set.