by Michael Anderson of Cloud3000
"Simplicity is the ultimate sophistication." — Leonardo da Vinci
- Guard your backups like your life depends on it, because your work does.
- Always have a recovery plan, and keep sharpening your skills to execute it.
- Hardware failure and data loss are your problem, never to be noticed by the user's.
- Learn the history of every technology you work with.
- When you don't fully understand the design, the plan will always look better than the result.
- When you truly understand the design, the execution will exceed even what you planned.
- Knowledge is power, but knowing the limits of your own knowledge is even more powerful.
- Moving forward without enough knowledge can teach you a lot, but it will cost you.
- A backup isn't really a backup until it has successfully restored something.
- Redundancy can be an illusion. Build on rock-solid hardware and never assume otherwise.
- Don't be afraid to fail, failure is a prerequisite to success.
- Build a prototype whenever you can.
- Constructive criticism is a gift to the person receiving it. Destructive criticism is only for the critic.
- Simplicity is always the right goal, but getting there is often the hardest path.
- The more complex your design, the louder the criticism will be.
- A recovery plan is more valuable than any other plan you have.
- Design first. Code last.
- Innovation without action is just an idea to be forgotten.
- When you find something that works, use it again and again without hesitation.
- Optimism and a spirit of invention are the best qualities an engineer can have.
- Keep your technical knowledge current.
- Documentation decays from reality over time.
- Ask questions openly and answer them honestly.
- A reviewer whose only purpose is to review will eventually become the enemy of every good system.
- Never throw away a version that works, even if you're confident the new one is better.
- Time and preparation are the only real paths to full recovery.
- A small task done carelessly can bring down a large task done perfectly.
- To the executive: learn the language of your technical team.
- Always schedule enough time. If you don't, the one who inherits your unfinished work will pay for it.
- Charge what you're worth! As a good reputation will always outlasts it's price tag.
- Don't just take the next order and run with it, because a software engineer is not a short-order cook.
- Those who ignore history and rely only on what they know today will spend their careers rebuilding things that already failed.
- Standing on the shoulders of those who came before you is almost always the smartest move.
- Luck plays a role in both success and failure, but luck tends to favor the skilled, the prepared, and the ones who live by Rule 7.
- In the middle of a crisis, if you don't know where the fire started, you will get burned by it.
- Automation is a first class citizen. Design before code, Automate before Design.
- Last, because it matters most, never lie.
