Here is a list of Do's and Don'ts for enlightened program development.
First off, when the usual person in charge of backups takes Friday off, do not forget to insert a tape into the DLT tape drive so that Friday's files get backed up.
Do not work on a new version of an production script by running cp `which important-script` . rather, rename it to something else.
Do not use cp in a different session window to copy output datafiles from said script from one directory to another, simply because the second directory happens to be accessible from a Samba share so that you can import the data into Excel.
Do not get confused about which window you are in and re-run the cp command using !cp, thereby reinitialising the contents of your updated script back to how it was before you started hacking on it two days ago.
Do alias cp to cp -i. It's not just for root!
Do print out the script on hard-copy from time to time, even if it was Friday midday, because at least then you don't lose quite as much work.
Do get a better version of vi than Solaris' shi^Wbraindead implementation. At least one that creates ~backup files.
Do know how to touch-type, so that at least rekeying 12 pages of Perl code doesn't take so long, even if that is a meagre consolation.