For much of the time you're likely to be working alone and unsupervised.
Supervisors often underestimate the psychological issues involved.
Be aware of your strengths and weaknesses.
-
It's unlikely that one person will be strong in all phases of development.
Phases of Discovery, Invention, Implementation and Documentation take turns
at peaking, though (depending on the choice of life-cycle model) you can
try to keep different kinds of work available so that there's always something
to match your mood.
- You may have no-one to bounce ideas off, or no-one to inspect your code.
You might find some-one prepared to respond to e-mail. Newsgroups can be
useful.
- Be aware of your favourite 'displacement mechanisms'. Try to make
them something useful (documentation) rather than cosmetic. A common
diversion is to over-develop tools and utilities
- To cheer yourself up make a list of easy things that you can tick off.
- Think of a good name for the project (this document's really entitled "COMputer PROject Management In Student Environments" - Compromise)
- Beware of Burnout. A regular employer might look after you because
they want to hold onto you for a future project. If you're a contract worker
however, your longevity isn't high on the contracter's priorities - you'll
need to pace yourself.
The programming task may only be part of your job - you may still be studying for a Ph.D. One way to reduce the risk of the programming task taking over
is to be strict about when/where you do the work - e.g. only in the mornings
and never from home.
- Pick-me-ups and motivation from outside are most likely needed - at the start; after a deadline; at the end (fatigue)
Updated 10/02/03 with help from James Matheson
Tim Love