As a team member, or as a programmer, would you accept a boss like that? If he wants to learn and he is interested by programming and what a programmer does? Can somebody with not programming background understands quickly how an IT environment works?
1ask yourself this : is it sure that a developer will become a great PM? if not, then maybe it shouldn't be a requirement.– AndersKJul 30, 2013 at 8:44
One thing needs to be clarified here; the PM's role is NOT to develop any code. One role is the programmer, developer, etc... so I would hire people with technical skills required to do that role, and another different role is the Project Manager's. For this role, I would hire the person with the strongest capabilities to lead the project (if he or she has technical skills on top of project management expertise then good, but it's not the core competency I would be focus on)
The Project Manager is the person responsible for capturing customers requirements, estimating, planning and communicating to the Team Members, Stakeholders and so forth.
Good PMs can handle multi-disciplinary projects regardless of the field/industry.
The key to ensure that both PM and Team can successfully work together and deliver the agreed outputs is COMMUNICATION. If you, as a programmer, come across certain issues with infrastructures, testing or anything related to your area of expertise, you need to have the back up support from your PM. He/She needs to understand your issue, estimate the impact (with your help, of course) to the product/output, and communicate delays or additional requirements to the stakeholders. I really don't think you need a person that knows different programming languages to understand that for X reason you cannot deliver and therefore the project may be delayed. On the other hand, a manager that understand that you have issues and supports you by communicating clearly and effectively with clients/sponsors and gets you additional resources/time/funds I believe it's more efficient.
My recommendation is to keep your mind open and support your manager. A solid working relationship will be more beneficial to you during the project's cycle life.
3+1 for keep an open mind and support your manager. And the other side holds too: the manager should keep an open mind and recognise that he or she does not know everything, regardless of background.– Iain9688Feb 29, 2012 at 18:04
@Iain9688 - you are absolutely right; the above relationship of support and understanding must be reciprocal. Feb 29, 2012 at 21:59
1+1 - I had an entire post written on the importance of technical skills in a position, then I realized it was a PM position and deleted it :) "the PM's role is NOT to develop any code."– jmort253Feb 29, 2012 at 22:41
I am a fresh project manager, who grew up from developer. I noticed in my company, that knowledge of technical issues really helps me manage complex technical projects. It allows me to better understand developers , and when dealing with a client I can understand a lot more technical and business issues.
I noticed that pm's in my company, who don't have even a basic technical knowledge have a harder situation with many problems, because they simply do not understand them.
Whether or not you hire someone who does not have technical knowledge depends on the specifics of the project and the competence of that person in your company. If he/she wouldn't have to make decisions that require such knowledge, or will have for example the production manager, that will be able to give him such information - then OK. But personally I think that it is better that the person had at least a basic knowledge of technology that will have to work with.
All of us have our beliefs and biases and you are free to have yours. Just becareful with them because much of what we believe to be true are not grounded in truth. Becareful about taking too much stock into what you observe. You observe only a little tiny piece and through a biased lens. Feb 29, 2012 at 15:02
@ Pawel: I totally agree with you. I am in the same boat as you are in and became a PM recently from development. I understand most of the project deeply if some developer is trying to give me a scenario.– RG-3Feb 29, 2012 at 16:37
@DavidEspina: I understand what you are saying here. However, I am agreeing with Pawel. If you have some bits and pieces of technical understanding of how code works: GREAT!– RG-3Feb 29, 2012 at 16:39
2I agree, it is great. But great does not necessarily mean there is a correlation, or cause and effect, between technical knowledge and less risk of failure. Tech knowledge is one of many attributes that lead to a lesser risk of failure. One of many. Feb 29, 2012 at 18:29
@DavidEspina: I'm very careful with my observations. I'm not saying that non-technical pms are worse employees - they are great. But many of them are my good friends and I know their problems in that field. I know that sometimes they feel unconfortable taking part in conversation concerning technical issues in their projects. Mar 1, 2012 at 10:08
I'd hire the person who is smart and can demonstrate that they can get things done. If he happens to have the IT background, wonderful.
Totally agree with you David. Feb 29, 2012 at 13:56
Thats very Joel...– RicibobApr 26, 2012 at 9:05
PMs don't need to be very familiar with the IT environment to be successful. It helps but its not critical since most of the work he will be doing won't be of a technical nature anyway.
IMHO, You have more problems with those clueless ones that THINK they know IT.
The key thing about dealing with non technical PMs is to have a strong technical team leader to act as a bridge between the team and management. If you are missing a good team leader as well then things can get messy.
I would prefer a strong people manager to a brilliant programming leader as my boss.
Somebody who takes it on the chin for the team,understands & resolves people issues.
As far as IT background goes,in my experience I have seen non "technical" project leaders/managers (who have the skills to interview & elicit information from tech people and who created a culture of trust and fearlessness in the team) fare much better than ones from a hard core "technical" background (leading purely from a technical aspect).
The key is (as I mentioned above) is the ability to "understand" tech speak & tech peoples's egos, make sure that there are no impediments in their way :)
To answer the headline question: Absolutely. If the person has the right skills, I would take him or her on regardless of programming background or not.
You imply that an IT environment equals a programming environment. That's an interesting side issue: I work in an IT environment and always have. In my current role I work alongside about a dozen other environment and infrastructure PMs, and the majority of us have never written code as a professional programmer, and we don't manage programmers either. We deliver infrastructure, we manage testing, and we coordinate implementations. Other PMs manage the programmers.
You also ask whether a programmer would accept a non-programmer as a boss. Well, having been a non-programmer who managed programmers in the past, I have to say that this can work, but both groups have to accept that the skill sets and the knowledge bases are quite different, and they have to work through the inevitable challenges. This can bring benefits to both: the PM can often see non-technical solutions to a problem, while the programmer may be able to offer better ways to achieve an end result than had been put forward by the PM.
Your final question is also interesting: whether a PM without a programming background can understand how IT environments work. I believe the answer is yes, although it may take a little time to get up to speed. Deep detailed knowledge should not be required, although a general understanding is helpful. As a PM who has moved from one business to another, and one technical environment to another several times, I find that honesty about what I know or don't know is the best way to progress. One of the most powerful questions is "Can you explain that in easy, layman's language" - which forces the technical person to really think about his answer, and can uncover a whole load of assumptions or identify things that are done "because we have always done it that way".
My current company uses IT, IS, and R&D to describe 1) day-to-day technical support type developers and support staff; 2) big database/ERP developers and support staff; and 3) end-user product developers and support staff. It's actually been quite a useful way to think about the different groups.– SBWorksMar 1, 2012 at 5:23
@SBWorks, that's an interesting way to look at it. I did work in one place where we used IT for the technical infrastructure, IS for business analysis, user support, and integration, and Development for, well, development! There are certainly different models out there, and I would not venture to say that one was better than the others. Keeping an open mind and recognising the value of other models can provide very useful insights, so thanks for your comments and also for reminding me of my old job!– Iain9688Mar 1, 2012 at 20:00
Keep in mind the Project Management isn't Functional Management. The Project Manager needs to be aware of and familiar with the -types- of problems and issues that might arise on a project, but won't be expected to resolve them. More typically, the Project Manager will benefit from more "paperwork" and "interpersonal" skills than anything IT related.
As a team member in this environment, if the PM is willing to learn, then it might be a better situation as the PM may approach situations with an open mind and be receptive to good feedback from the team, rather than try to use their background and experience to "drive" the team to a course of action.
Well I'm developer and I would n't accept a project manager which wasn't a developer at least for a short time. Somebody without this experience doesn't know what the typical problems of a developer are. I don't want him to solve the technical problems, but I think he should be able to see from the perspective of his developers to know when it's necessary to interfere and when not.
1"Somebody without this experience doesn't know what the typical problems of a developer are" - is this an assumption or you know it by numbers? Feb 29, 2012 at 9:08
2It's my own opinion. I know it's pretty bold. But I know some people who are sharing it. The point is, that I don't like the "In theory" approach. Sure a PM could prepare himself by reading some books, visiting workshops or talking to the developer, but this preparation will never be as good as when it has happened to himself.– DHNFeb 29, 2012 at 10:11
Is that so difficult to learn programming? If you put your mind to it and you are motivated. I would take 2 or 3 days even a week and sit beside each of my team members to learn what they are doing everyday and what they need. I like new challenges. Feb 29, 2012 at 13:50
I think you have had some bad experience with previous (or current ) Project Manager(s). However, your firm statement "I wound n't accept a project manager which wasn't a developer at least for a short time" has no foundation. As you say, you don't need him to fix technical issues, so if you want him to understand you better try to approach him/her with your concerns. Feb 29, 2012 at 14:00
2I meant that it is easy to start learning programming if you are motivated; but much more difficult to be a great programmer. I like complicated stuff. Feb 29, 2012 at 14:27
If your company has a management style similar to the type that Joel Spolsky recommends, where technical decisions are made by the front-line technical people, then a non-IT person who happens to have good people skills should work fine.
If your company has a command and control management style or a place were technical decisions get escalated "up the chain", the chances of a non-techie project manager being accepted by the project team and be an effective leader is quite low.
As a non techie manager in an office full of developers, I can relate to this topic from experience. I agree that:
"The key thing about dealing with non technical PMs is to have a strong technical team leader to act as a bridge between the team and management. If you are missing a good team leader as well then things can get messy"
However, my job requires that I research the industry itself for trends and current events whereas this is sometimes "news"for programmers who have a preferred method of coding. They tend to be happy within those parameters. No, not everyone...but I am always surprised at how many can't be bothered to look outside their nook.
When they do, it's always a treat because we both learn something.
I don't think there is a general rule because there are good PMs and bad ones regardless of developer/IT experience.
I have had great PMs that have not been very techsavy but they knew how to listen and communicate. A PM is not necessarily somebody you sit and discuss technical problems with, instead his main role is to act as administrator.
I have also had mediocre PMs who obviously cannot let go of their developer past and see an absolute need to micromanage developers.
So no, I don't think it is necessary with a developer/IT background but it is a bonus if the PM is good.
In the PMBOK, there's nowhere mentioned that a project manager from a different field can't manage a project in another one. First we need to understand the duties of a project manager, and also need to learn to differentiate between the role of a functional manager, a developer and the project manager. Otherwise we can't get a proper solution of this debate. One person said that an IT project manager needs to see the overall picture and that's right. But again I think that guy is only talking about 1 particular management style out of 5 available management styles. The guy was talking about visionary management style whereas we've also transformational, democratic, mentoring and Laissez-faire management styles available. In transformational style the manager pushes both the team and himself to get out of their comfort zone which means there's a good chance that the project manager can earn the technical expertise in parallel to his work, that's not a big deal if a person is dedicated. My friend also mentioned about other non technical background PMs in his company who are facing problems but my question is are they pushing themselves to develop their technical expertise. Also if we talk about democratic and Laissez-faire management styles they talk more about empowerment of the team for decision making and planning. So in that kind of styles the team will decide what to do and how to do. The main duties of a project manager are communication, team management, conflict management, resource management, risk management, quality management, project planning, integration, budgeting, time management, schedule management, cost management. He should have good interpersonal skill, communication skill, negotiation skill, problem solving skill, adaptability, critical thinking skills. In fact it's mentioned in scrum part that best practice is scrum master will not code anything during a scrum, he will act as a servant leader only. PMP is a kind of certification which teach you how to make a project successful while applying the best practices. In PMP they never limit your project management skills in certain technical skills. PMP teach you how to manage any kind of project successfully and at the end of the day, that's important.
I am also a PMP certified professional from PMI, USA. I hope let's not limit a project manager's scope with just technical boundaries, which is not a good practice. Let's see the broader perspective, otherwise there's always chance to micro management.