- Always have a backup, halt everything without it.
- Always have a plan, work at your skill to recover, see rule #1 ๐
- Hardware failure and data loss is unacceptable, users should not be aware of it. See rule #2. ๐
- Understand the history of the technology that you are working with, its a must.
- Lack of understanding of the design, makes the plan better than the execution.
- Good design does not need to be forced to work, its execution is better than planned.
- Knowledge is power, but more powerful is knowing when you don't have it. ๐
- Going forward without knowledge can be valuable but always a hard lesson, see rule #7. ๐
- A backup is not a backup until it is successfully used in a recovery process.
- Know that redundancy can be fiction, always use rock-solid hardware.
- Don't be afraid to fail, it is a prerequisite to success, requires understanding of rule #1, #7, and #8. ๐
- Have a prototype when possible, because saying that it works is not as good as proving it.
- Positive criticism is to benefit the criticized, while negative criticism benefits only the critic.
- Simplicity is always best, but may be more complicated.
- The volume of criticism is often proportional to the complexity of your design.
- A Plan to recover, is better than all others. Not having a plan for failure is a mistake that you can't recover from.
- Design first and code last. Changes occurring in the coding and testing stages always takes longer, cost more, and contributes to confusion.
- Innovation and invention, without action, is only an idea to be forgotten.
- When you find a method that works well, duplicate it as much as possible.
- Optimism, and the spirit of invention are the most important attributes of a software engineer, but they commonly keep no schedule, and last to know when they are in trouble.
- Always keep fresh technical data so that you can rapidly respond to questions and rule #7. ๐
- Documentation fails in time, because in time there is a difference in what is supposed to be, what is thought to have been, and what reality is.
- A question asked is an answer deserved. Having nothing to hide can build trust, while obfuscating a small fact can be the end of you, see rule #36. ๐
- A reviewer working only to review, will certainly arrange the death of a good system.
- Never throw away a version that works even if you know the newer version works better.
- Time and being prepared are the only path to a full recovery, see rule #2. ๐
- A simple small task done poorly, can bring failure to a larger more important task that was done perfectly.
- To the Executive: Learn โcomputereseโ, because you can't manage if you don't understand what is being said.
- Always schedule enough time, if not, then the one who takes you place will. When asked โHow much time will it takeโ, always answer with the time you think it will take, times 4.
- Reputation trumps cost; Getting better estimates may not lower cost but will improve your reputation.
- Don't be a short-order cook! Understanding time and cost will magically get it done early and under budget. Making this your reputation, see rule #29. ๐
- Those who discount history, and lack experience, often reinvent previously failed technology.
- Riding on the shoulders of the giants is best, the possibility of a better way is done only with rule #7. ๐
- Luck plays a part in success and failure, but luck favors the competent, hard-working one, the one knowing rule #7. ๐
- In the midst of a catastrophe, if you donโt know where the โFireโ started, then you will surely โBurnโ in it.
- Lastly, and important, Never Tell a Lie!
for !hellfrezesOver {
go writeCode()
}