Should an IT project manager have a tech background?

-"Of course - how can you manage something you don’t know?", you may say.

-"It’s ridiculous! no matter what you are managing, methods are the same. You have to keep an eye on the correct workflow and everything will be fine!”, others will comment.

Who is right? The truth lies somewhere in between.

Who is a Project Manager?

We should start by answering the core question: who is a project manager? I like to compare this role to a concert organizer. This is a person responsible for contacting a band, booking a hall, ensuring that tickets will be prepared, sold & everyone will have their sit. It’s a person who has to ensure that concert will take place at the right time, with the right band & costs will be lower than income. This person doesn’t have to (even shouldn’t!) do everything on his own, he will assign tasks to competent people and verify their work.

If this organizer would be a former singer, he would be able to understand better the needs of the band, he would know what are the crucial elements of the hall that should be checked, which will improve the quality and overall comfort. On the other hand, if this person has never dealt with professional music before, he can ask questions to understand the requirements or hire a specialist to do so.

In general, a huge part of Project Management is communication and working with people. Which is very similar in every industry. You don’t need the technical knowledge but it helps. I have seen some PMs, new to the IT world, and it was hard for them. And even though you might think that a fresh person could notice things veterans would miss, I have to disappoint you.

Tech background to the rescue

There are 3 aspects in which technical knowledge will help you:

  • Comfort - You know this situation from the parties: a group of your friends starts some weird topic, you try to take part in the discussion, but the only thing which you can do is to smile or nod with a wise expression on your face. You intuitively know that it’s better to be silent to not make a fool of yourself. When you are, at least, a little „technical” you can feel more confident and better understand your team.

  • Respect - it might not be obvious and sometimes you will not be able to notice it at all, but most of the developers (looking from the IT projects’ perspective) will not treat seriously a PM without a development background. They might like you as a person, but if you will not be one of them, they will perceive you as a child talking about „adult stuff”.

  • Control - if you don’t know the product and its parts at all, it’s very hard to verify if estimates are real and if the work is going in the right direction. I used to work for a corporation where our task was to migrate old Windows 2003 server to 2008 machine. One of the tasks was migrating the task scheduler. Offshore coworker estimated it for 3 weeks! When I have told him that it’s rather a simple task, he had lowered estimations to 2 weeks… I’m not a Windows administrator (in contrary to him!), but I am aware of the existence of the Power Shell, which allows automatization of many tasks in Windows. At the end, work took hours not weeks.

Theory vs. Practice

In theory, you are able to manage projects without the technical background, but practice shows that it’s much more difficult. I understand that some people may not agree with me, but it’s very hard to see any benefits from working with non-technical project manager above the technical one.

On the other hand, if I'd have to choose between the experienced project manager and technical specialist, but new in project management, I would pick the experienced one. It is much easier to gain a basic technical knowledge than catch up years of experience.

Facing a crisis in a project, you can find someone to come up with a good industrial solution, but no one will deal with the personal, budget or client’s issues instead of you.

I recommend you to have at least a minimum subject knowledge. If it’s IT, read about basics of network architecture, learn how to code a simple web or desktop application, touch the databases and testing subjects. It will help, I promise!

If you agree with me or have an opposite point of view, let me know in the comments. I'll be more than happy to discuss the matter.