1. Optimize for iteration speed.

  2. Push relentlessly towards automation.

  3. Build the right software abstractions.

  4. Focus on high code quality by using code review.

  5. Maintain a respectful work environment.

  6. Build shared ownership of code and systems.

  7. Invest in automated testing.

  8. Allot experimentation time, either through 20% time or hackathons.

  9. Foster a culture of learning and continuous improvement.

  10. Hire the best.