If you're going to manage a project it's worth holding out for the best staff. Good programmers are 10 times more productive than bad (Survival Guide p.102) "though no conventional salary structure provides for this kind of dynamic range" (The Software Development Edge, p.179). Staff will often give a busy programmer a job rather than temporarily employ a student. There's not always much choice though.

If you can employ several people your team might well comprise: Project Manager, Product Manager, Architect, User-interface designer, End-user liaison, Developer, QA/Testers, Toolsmith, Build Coordinator, Risk Officer, End-user documentation specialist (Survival Guide p.105). These don't always get on with each other. If they're all one person, beware!

It's likely that programmers will be seconded from other work. Sometimes this results in the programmer doing 2 jobs at once. Even if the project succeeds there may be failures elsewhere as a consequence. You need to decide how much of this task-balancing is your responsibility.


Updated November 2009 with help from James Matheson
Tim Love