There are some job requirements of project management experience for a programmer, such as:

the candidate has to have some experience managing a project, not necessarily with subordinates, but rather having worked on a project all the way from design down to test.

I was wondering

  1. what "subordinates" mean here?
  2. if there are some books, webpages or elsewhere with both general guideline and simple practical sample projects to help one get some basics about the whole process of a project. I am particularly interested in projects for both Linux and Windows, in C, C++, Python, Java. I am considering to start by playing on my own, not eager to find a company yet.

My major was not CS, so I might lack the basics.

closed as off-topic by Jim G., user40980, user53019, Robert Harvey, gnat Jul 7 '14 at 22:10

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic here. They are only meaningful to the asker and do not generate lasting value for the broader community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – Jim G., Community, Community, Robert Harvey, gnat
If this question can be reworded to fit the rules in the help center, please edit the question.


The job requirement basically wants the prospect to have experience with a project that you were in charge in which you might or might not have people following your lead. If you have that sort of experience and you are planning to mention it, make sure you succeeded on it.

If you don't have a PM experience, then the best things to do is to be pro-active and look for a project at your current job. If for some reason, you can't get a project under your belt, then start an open source project and try to get people on board. Even if you are a solo developer, you will learn a lot things about software project management. I started my open source project and I'm learning project managament (PM) techniques. I'm even learning and rating myself as working developer because I'm both, my manager and developer, so my manager side set task and estimation and my developer side commit to those tasks. Now at work, we are starting a project and now I feel more confident know to commit for a particular requirement and how to estimate their delivery.

On techniques for open source sofware PM:

  1. Discovering features....sometimes not even the customer knows what (s)he really wants.

  2. Translating features into requirements.

  3. Estimating requirements.

  4. Prioritize the requirements and pick the ones that fit in a iteration.(What are the most basic requirements that can fit in one iteration?)]

  5. Set milestone and iterations.

  6. Break up the problem. (domain analysis)

  7. Early design (just-good-enough design).

  8. development (test, implementation, etc)

  9. At the end of the iteration analyze your performance and feed-backs. Did I deliver what I promise? What went wrong? What I did right?

Also Learn how to scope with CHANGE. Seriously, At the middle of your iteration, you or your customer will find out that there is very important feature that if you don't it, the project is dead. Most likely, your only constant in your project is change!

  • Thanks! (1) How shall one learn to start and manager an open source project? (2) Are there some PM techniques summarized by others? – Tim Jun 20 '11 at 18:52
  • First, find something that interest you. It will be ideal that your project will benefit a set a of people because you will really get feedback from users (aka customers). – Armando Jun 20 '11 at 19:00

Subordinates are people who report to you (i.e. if you are a manager). It's basically saying you don't necessarily have to have managed people, but need to have been responsible for all aspects of a project from start to end.

Unfortunately I don't know of any resources about it; maybe somebody else can help with that portion of your question.


Project Management is more art than science. Books don't help much. Experience is essentially what is required.

To gain experience, you simply participate on a number of projects with good and bad project managers. That's how you learn this kind of art: watching others.


Although a lot of colleges try, there is a lot about IT project management that cannot be taught; it has to be experienced, then learned by trial-and-error. If you have never sat down with the guy who will be paying your bills to develop a piece of software, then sat down with the future end users of your software to determine what it needs to look like and how it needs to work, and balanced those two often-exclusive sets of requirements to bring the software from the initial thoughts to a finished product in the hands of your target users, you have not "managed" a project, and although you can be given general strategies etc, you will likely not fare well if you were to be dumped into such a situation sink-or-swim.

Software project management involves all five areas of the classical SLDC; analysis, design, development, implementation, and maintenance. It also requires dealing with three key areas of stakeholders - labor, management and budget - on both sides of a project (those wanting the product and those creating it). It is most commonly learned through experience more than through reading, althrough there are a good number of books available that can help.

  • Thanks! I understand experience is important, but what are "a good number of books available that can help"? I did not learn these in college because my major was not CS. – Tim Jun 20 '11 at 18:55
  • Just head to your local B&N and look in the Software section; there should be an entire shelf or more of books on the topic of "software project management". – KeithS Jun 20 '11 at 18:59

It sounds like the job requirements you are looking at is simply looking for someone who has some senior role on a project. Not having subordinates means they aren't looking for you to manage people (provide performance reviews, hire/fire, etc.)

Working all the way from design down to test is actually a pretty narrow scope as well. This excludes things like pitching a project to Sr. Management, working with customers on requirements, working with marketing and sales and the entire release and support phase of projects.

I'd get Rapid Development as it is well organized around every phase of a project mostly from the perspective of a SW Developer. It might be a bit dated, but it does a good job of providing enough starter material to get you going. From there, even if you don't want to "find a company" yet, you should find a group of people to talk through issues who have more experience than you do. Learning from people who have already been through the process always seem to be the fastest/most effective teacher. (don't get me wrong, I also recommend books, but if you are just starting out, you'll find it helpful to have someone to help build context with you as you process the information in the books)

good luck!

Not the answer you're looking for? Browse other questions tagged or ask your own question.