views:

150

answers:

2

I am a Computer Science major who is interested in exploring a career as a program manager.

I knew since starting my degree that that was the role that was interested in but I just found out the actual job name recently.

Q: Is this a common position? Do many companies have "program managers"? What should I do/read to improve my chances to become a project manager upon graduation?

I have already completed three co-op terms at different companies none of which had this position.

+4  A: 

Most software development orgs have this function, but it's not always called "program manager" and it's not always encapsulated into a single job. There are three major facets to to being a PM, and different teams emphasize them differently:

  • Project management: creating, tracking and communicating schedules, identifying priorities, risk management, load balancing
  • Functional software specification: figuring out how software should work, writing it down and getting buy-in from the people who will develop it
  • Customer interface: requirements gathering, relationship management, driving adoption

Which of these areas are you most interested in? You might look at jobs titled "product manager" or "project manager". The former is usually more focused on product definition while the latter is focused on team operation.

There's a bit of a chicken/egg problem in that PM skills aren't covered in-depth at a lot of universities, so a lot of PM jobs demand several years of experience. One way to break the deadlock is to intern or take an entry-level job at a large software company that has a sizable contingent of P* manager jobs. You can also get a foot in the door by demonstrating PM skills on personal or volunteer projects.

Kerry
Interested in all three of those things and being a user advocate. Taking a minor business to try to work on some of those things.
sixtyfootersdude
Sometimes it's hard to get good at all three. Most of what I have seen is that one person gets really good at one of the three listed. Then because it's hard to keep the pulse on all three, they start to miss understand how the other two will actually accomplish the task. IE you tell the customer you can do something, when tech says no or it'll be hard stuff like that.
Kris.Mitchell
+2  A: 

At least in the defense industry, the title Program Manager is pretty codified, and very senior, but the jobs described by Joel are covered by several different roles, and not all of them are so senior.

Here's the defense industry/enormous corporation take on the work and the roles:

  • Program Manager (PM) - a very senior upper management person. He and his deputy are the legal representative of the contract or project. They interface with customers (who are generally not users) and make sure that the project is legally, financially, and ethically in the clear. They direct the high level work of the team, and make sure that the really big issues are covered. They have a hand in deciding on features, and the final authority when groups can't agree. They have 1 foot in engineering and 1 in business. -
  • Systems Engineering - In my experience, this is a defense-only term, but other big companies have a role like this. Systems engineers are engineers with the big picture. They are the customer representatives who have done the most interaction with users and the user's systems. They know all the parts that touch upon the system being developed, and they have enough technical savy across disciplines to prevent issues between the typical engineering discipline groups (software, hardware, manufacturing, etc). They may or may not design user interfaces
  • Human Interface Experts - they may be an outside consulting firm, or they may be an internal group in the company. They may be able to code enough to tell you what types of interfaces are supported by what major products (ie, what HTML can do, vs. what a thick app with an API can do), but they are not code whizzes. Instead they have a better than your average engineer knowledge of psychology, user interface design, and how to study and promote user feedback. They generally coordinate with the GUI/UI/HMI design team to vet the work and double check with actual users.

How to get there

  • Program Manager (PM) - Rules for promotion vary from company to company, but in a really big corporation, I would not expect someone with less than 10 years of experience to be in these positions. In my company, people come up through the ranks of engineering and prove their capabilities at lower levels of management to move into this role. IMO, it's not just the proper degree of gravitas, but also the fact that this person is in a position where not seeing a risk or making a bad decision could cost the company millions or billions of dollars. It takes a while to trust someone that much.

  • Systems Engineering - Usually 5 year + engineers who transition in from a different discipline. But, it can be a college grad, if the college grad has that "systems flavor". When I interview for this role, I look for people who happily bubble up to a high level, and consider the big picture ramifications and then deep dive into the details. They are often jacks of all trades, and very happy with that. Over time, systems engineers are expected to become experts in the customer's domain, rather than any particular technology domain.

  • Human Interface Experts - this is a discipline that colleges actually offer courses for. Taking some specialty courses in your CS program and supplementing with psych classes would help a great deal. Also, anything you can do to show your ability to get things done with non-technical users - like help desks, mentoring, tutoring, etc. When interviewing, target positions in a HMI group, or in a product with a big user interface component.

All three of these roles rely on stronger communication skills than your average programmer is expected to posess. Systems engineers are often a bit quirky (or at least the normal level of quirky), but a bit component of the job is written documents - white papers, requirements, specs, and test plans. HMI people are usually the nicest, least judgemental poeple you'll ever meet and they constantly give the impression that it's all about what you want. PMs have that typical boss quality.

bethlakshmi
+1 Wow! Awesome answer! Thank you so much!
sixtyfootersdude