Things I've learned about software engineering




  1. Always use the highest available warning and error levels.

  2. Never quit until everything works.

  3. If you see an opportunity to refactor, do it immediately.

  4. Before using something for the first time, read all the documentation.

  5. When you have two or more equal solutions, use the most abstract one.

  6. Users do not understand anything

  7. Users do not read documentation

  8. Users can not remember more than two facts

  9. Economics dictate that the worst piece software able to do the job, will be the one created

  10. All hardware sucks

  11. All software sucks

  12. All operating systems suck

  13. All programming languages suck




Have more rules? send 'em in.