To my daughters Tina and Marie who just completed their first course in Computer Science at Stanford University.
1. KIS. Keep It Simple. Even the most complex task can be broken into multiple simple ones. A good planning and design can save you a lot of trouble down the road.
2. Document. Document. Document. The good documentation (aka comments ) distinguishes the pro from the amateur. As a rule of thumb your comments have to be at least as long as your code. I’m talking about comments within the code. User manuals, system manuals etc. are extra.
3. Test. Test. Test. There is not such thing like a working software. Working software is a software that was not tested enough. This explains the multiple versions and revisions.
4. Do not reinvent the wheel. Use other people’s work. There is plenty of software already written and available. Plan accordingly and use as much of it as possible.
5. Get organized and stay organized. Approach the software writing with the heart of an artist and the brain of a scientist. keep track of updates. Keep your old code and versions. You may end up liking your first version best after rewriting it several times.
6. Double the estimates. Use your best knowledge to make a realistic estimate about the time needed for a project then multiply it by 2 before presenting it to your boss.