This paper demonstrates simple coding techniques that you can use to protect your software investment. Software engineering has become the most expensive aspect of many kinds of embedded product development. Software is also one of the more problematic aspects as software bugs plague products long after the last hardware problems have been resolved or worked around. So, it is not surprising that much has been written about improving software engineering practices. Much of this has to do with the practice of how to design, program, and test your programs in the most efficient manner.