I recently met with a friend of mine, also a programmer. After sharing the usual “war stories” he mentioned some things about his project manager/Team Leader that made us both go into a long conversation about IT roles and the right people for the job. He kept ranting about his PM not being as qualified as he would have liked. This person was usually out of the office, unreachable. When he was in the office, he would give bad advice, or change his mind frequently. The outcome of this PM’s behaviour was that his team did not perform very well. It turns out that my friend was the “unproclaimed” leader of his team, filling in for the roles of the missing PM. He would be asked all the questions, he was the one everyone turned to when they needed anything.
It occurred to me that the problem here was much deeper then just a lousy PM. The real problem here is that companies don’t (usually) put a person for a particular job because of his/her abilities (or lack there of) but because that person was just there at the right place at the right time. This is much more apparent at small companies or start-ups, in which several roles must be performed by one person.
In a company I know, for example, the same people who program also do the QA’s job, since they have no QA department. This of course, sucks. No one can objectively test their own output. But they have to, so they do it. The problem gets worse when you assign a person to a role which is very far from their particular field. Putting a programmer as a marketing guy can have some horrendous results to a company, yet that same company does exactly that. That PM which my friend mentioned, seems to be the result of exactly this deadly cocktail of company needs and unprofessional task assignment.
I don’t know just how prevalent this is abroad, but in
I see companies doing this all the time. It makes me feel queasy.