Some people are specialists (most of the people) and some people are generalists (very few people). Industrialization has brought us a lot of job specialization and some people think it is good to be a generalist.
Being a generalist means you must be able to talk to a big crowd of different specialists and be able to not say anything stupid or anything that will make them feel anger, fear, etc. One way to do this is to study politics and learn how to do double talk: each group agrees with what you are saying because they understand different things.
Another politically correct way to manage a crowd is to find agreement on something and talk endlessly about something trivial and uncontroversial. It produces no real results on their understanding, but aren't we having a fine time!
Finally there is a way to convince people in non-confrontational ways, allowing them to save face. But first you need to find configurations in which people are not against each other, at least from the point of view of their convenience and their interests. A good way to say this is "we are all on the same boat, so we all arrive peacefully to a safe port or we sink all together". Ok, the choice of words probably has to be a lot safer and welcoming than that, but the main idea is avoid confrontation.
Why?
When you have different specialists, you have different views, and inevitably people manifest this conflicting views. People are afraid that their work will be meaningless or disregarded, therefore they try to impose their views at all costs.
If they were so good professionals they wouldn't be so scared, because they would have succeeded at other places, so they would like to see if other professionals have the same skills and can do things differently. But not all the people have the lack to have a brain and have it working at the same time.
I know it sounds politically incorrect, but the brain is not turned on all day, sorry. I have not actually measured, because the brain works by memorization, by deduction and pattern matching, so when it working by memorization and by pattern matching it is not calculationg the logical consequences of the possibilities and therefore, for the software development tasks point of view, it is useless.
Maybe in medicine and law professionals can work in full mode of pattern matching and memory and the results would be better than trying to deduct, because in order to deduct you need to know a lot about the subject at hand, and doctors probably can only diagnose according to the known symptoms, and since symptoms are always different, there is a tiny probability of delivering the wrong diagnosis and therefore they tend to say "we need to observe the evolution of the disease", meaning they are not sure what is going on with you.
Eating healthy food (meaning fresh food) and doing exercise every day is a better way to remain healthy, by the way.
In software development we have the same problem when projects are built organically, that is all software is thrown at the project, it is well shaken, and when the results are not what it is expected, you are supposed to debug endlessly to diagnose the symptoms and apply microsurgery. Then they find out your surgery had unexpected side effects (collateral damages), or in my vocabulary, you introduced new bugs.
The project is always 99% finished, it doesn't matter how much money, developers or unpaid overtime you throw at it.
Developers say the code is a mess.
Managers say they need to hire more specialists because they ones that are working now are unable to finish and they are already burnt out.
The problem are the generalists
Why would managers have a blame on how developers behave? Developers wrote the mess disn't they?
When left alone developers will always write unreadable code.
Those who specialize on generic skills, have to know the details of every single skill. If they can't learn, they are useless and drive their companies down with them. Since they generally are the bosses, they tend to be pretty agressive with insubordinate subordinates.
The best defense is to attack first. And the only way to avoid confrontation is to win in a matter that doesn't allow the opponent to retaliate. I'm not advocating turning the office into a battleground, but if you risk being fired you are obligued to fire your opponents at the office.
The main advantage is that if it doesn't turn out as expected and you are fired instead of them, then it is usually better to move into other opportunites.
lunes, 17 de septiembre de 2007
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario