Friday, October 10, 2008
Indian Outsourcing: The antipattern of developers turned managers...
Often, through no fault of their own, developers are required to become managers...
A good start is to realize that Managers are not likely to be good Developers and Developers are not likely to be be good Managers. For the most part our brains are wired differently. The problem is that HR departments think that people are plug compatible and that "weaknesses" can be "fixed" by training courses and a certain amount of browbeating. It is time to accept that human beings are irritatingly, annoyingly unique and you cannot force a human being into a particular slot. Instead you have to get the right person in the first place and allow them to do what they are good at. Yes, its difficult, but those companies that crack it will be the most successful.
Here are some of the ways in which management is different from development:
| | View blog reactionsA good start is to realize that Managers are not likely to be good Developers and Developers are not likely to be be good Managers. For the most part our brains are wired differently. The problem is that HR departments think that people are plug compatible and that "weaknesses" can be "fixed" by training courses and a certain amount of browbeating. It is time to accept that human beings are irritatingly, annoyingly unique and you cannot force a human being into a particular slot. Instead you have to get the right person in the first place and allow them to do what they are good at. Yes, its difficult, but those companies that crack it will be the most successful.
Here are some of the ways in which management is different from development:
- Focus upon the future, rather than upon current activities.
- Paying attention to what everyone is doing, rather than what you are doing.
- Breadth of knowledge is far more important than depth of knowledge in any one subject.
- Constant interruptions and gear-shifting are part of the job, not just an unwanted distraction. Managers generally can't lock their doors and unplug their phones.
- "People skills" are much more important.
- Interaction with lots of people with lots of different jobs and opposing viewpoints, rather than interaction with other developers.
- Acceptance of responsibility for others' mistakes and shortcomings (OK, I acknowledge that most managers nowadays don't truly accept responsibility and prefer to throw their reports under the bus).
- Need to make others succeed, even when the others don't care themselves (At least to the point where we can relabel mediocrity success).
- Often have to find the least objectionable solution (based on other people's evaluations) rather than the "best" solution (based on personal evaluation or even something like architecture/conceptual integrity).