Browsing the open PM position vacancies you can find out that employers are looking for project managers who know how to code in just about every existing language (not let than 10+ years of experience) with several technical, not PM, certifications tossed in.
But is it necessary for the PM to be a technical guy? Seems that now almost every company has their own definition of the “project manager” – that can be anything from the pm-secretary to pm-software architect. But let’s use our common sense and find out why there are so many people who insist on PMs having a lot of development experience.
Once I had a job interview after which I got a very interesting feedback – “You are really great as manager, but, unfortunately, you don’t have 5+ years of development experience, so we can’t hire you.” I asked them, why they think I need so deep hand-on development experience (by the way, I have the tech education and some dev experience). And the answer was – “Pff, PM should be able to answer tech questions! Just imagine, you are in the bar with the client, drinking beer. And he asks you – Galina, tell me, nginx or apache would be better for the application N? And what if you can’t answer that?” It was a joke…but not completely) They really thought that PM should be a tech expert and be able to give tech advices. And what if tomorrow this PM, expert in web development gets a mobile project…Oh, wait…There should be a mobile PM and web development PM? And what if they are using .net, but I have years experience in java…Hmm…There should be than many types of PMs. “Hello, I am Java PM. I can manage Java projects.” But I still think “manage” is more important here, than “Java” 🙂
If I have a lot of development experience and am a really good developer why on earth I am applying to the job of PM? They don’t get that if I am here I am probably a BAD developer?) What kind of advice I can provide them when they have some technical issue? ^_^
Everyone wants a rockstar. But do you really need it?
Why PM should have tech background
I’m a believer that every IT project manager should come from a technical background. But I think that many of the pros that are usually mentioned are not the real needs, but the “hot fixes” for some existing issues in the company.
- Estimations – the first and the most common argument. “What if the developers are giving the unreasonable estimations?” I described it pretty well in the previous post. If you need a PM-auditor – you have a big issues with the company culture and environment. You won’t solve it with adding one more “supervisor”. It’s much easier to hire “Iteration manager” when you have issues with iterations or “Delivery manager” when you have issues with delivery and hope this person will be the fix.
- Respect of the team – the second most mentioned pro. Yes, tech guru will be respected by the team. But it is not the only way you can get respect. I think, actually, it’s one of the easiest.
- Helping team when they have some technical issue. Helping with choosing frameworks, etc. It’s really great, but we get some technical lead when we suppose PM should so such things.
- A PM who has never been on the front lines themselves might have trouble managing expectations, among other things.
Why PM should not have tech background
think that the biggest issue with tech PMs is their inability to resist taking over certain aspects of a project just because they can. Instead of managing, guiding developers in the right direction when something goes wrong, they might hijack the project completely because they know their technical expertise means the job will be done exactly the way they want it. So they start coding themselves and pushing the “right” technical decisions.
PM should lead the team by coaching and asking the right questions, at the right time, not by providing tech commands.
Hire managers with management skills, not supermen
We are talking so much about the tech background that I am a bit afraid we all forgot about the main thing – management skills. The case is that you can’t be both good in tech and have excellent management skills(there might be such people, but the chance you meet them at your job interview is close to 0%).
If you want a tech expertise – you hire tech lead/architect, but is you want someone to manage your project – you hire project manager, person with management skills.
It continues to happen in software development again and again. PM is many times considered to be superman, who has grown from excellent technical achievements, but without PM specific qualifications. Extremely high probability to fail.
From my experience the most difficult issues I had in the project were not technical ones.
So choose the PMs who specialize in project management, as than you’ll have the things get done. Isn’t that the thing you are looking for?