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
- 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