1. K.I.S.S. Keep it simple, stupid! Forget the frills and the cheap thrills. Focus on the heart of the matter.

2. Identify. Identify a problem before attempting to solve it. Visualize it. Draw a diagram. With a clear view, it's much easier to see a solution. Ask questions: What do I already know about this? What resources do I have? What are my unknowns?

3. Reduce. Real-world problems are complex. They often have multiple solutions. Simplify them by estimating, approximating, and/or making objective assumptions (not guesses). Think big picture. Be realistic.

4. Learn. Discuss how others have solved similar problems—trust history. Brainstorm. Get ideas on the table before attempting to assemble them. Think outside of the box. Keep an open mind. Let the ideas flow and then connect the dots. Trust science. Hypothesize. Experiment. Do the math.

5. Design. Design solutions to bend but not break. Be prepared to adapt to meet limitations. Shape your solutions to fit their purpose—i.e. forms follows function. Conform to standards that have passed the test of time—e.g. the golden ratio. Seek balance. Trust human nature.

6. Source. Use what's available first. Don't build-from-scratch parts/tools/services that already exist. If something is readily available, then it's more efficient to just buy it. Take advantage of free tools/services (especially on the web). Avoid complex logistics. Use interchangeable parts.

7. Optimize. Apply force where it will have the most impact—e.g. concentrate promotional efforts where your customers are. However don't use too much force—e.g. don't kill an ant with a hand grenade. Keep your safety factor within reason. Use leverage instead of brute force. Prioritize.

8. Test. Check your answers—do they make sense? Let your peers help keep you in check. Test on a small-scale first. Test early and often. Don't be afraid to mess up, because that's what testing is for, and if you're afraid of failing you won't get anywhere. Be safe—wear protective gear when needed!

9. Iterate. No one gets everything right the first time, and the optimal solution may change over time. Keep testing and tweaking based on the previous iterations and feedback. Never assume that you can't make it better or more efficient. Learn from mistakes. Listen. Observe. React.