1) Be judicious regarding your choice of tools
2) Be careful with signalling errors
3) Don't read twice from a stream and expect the same data
4) Don't write SQL?
5) Understand pointers
6) Make it easy for readers of your code
7) Understand Scoping
8) Don't use objects concurrently unless they were designed for it
9) Keep track of which versions of dependencies you use