1 ) Make liberal use of saves, back-ups and version control check-ins. Disk space is cheap, and having incremental versions can be a life-saver in case things go awry.
2 ) When given an existing piece of software to modify or maintain, do not assume that the previous authors had any clue about what they were doing, or that they followed good coding practices. After fully analyzing the code, be alert for opportunities to restructure / rewrite portions that will improve maintainability and efficiency and determine if they can be implemented as part of the updates.
3 ) Comment heavily. At the very least, add comments for each functional block to help identify their purpose, expected inputs and outputs. Always add comments for non-obvious line entries. Also make sure to clearly comment any debug / trouble-shooting code that is added to make it easy to remove later.
4 ) Today's coding choices may last forever. Once implemented and released, it becomes significantly harder to make changes later. Make sure that proper architecting and design work is done up front way before any code gets written.
5 ) If you don't like it, get out. One of my professor's used this phrase a lot, and my experience in engineering has led me to agree with it. If you don't like coding those lame exercises in software classes, chances are you won't like coding in the real world either. Passionate and motivated programmers tend to produce better results. If you don't enjoy writing software, find something else that you do like instead.