This document provides lessons from a coding veteran organized into 3 rules. Rule 1 is to avoid complexity by having a clear goal, writing understandable code, picking conventions, and using abstraction wisely. Rule 2 is not to optimize too soon, and to rewrite code that is better understood, documenting any optimizations and using tools when possible. Rule 3 acknowledges that rules will be broken for deadlines, but that breaking rules requires cleanup and is not sustainable, advising to focus on Rules 1 and 2 for future success.