• If you (or your team) are shooting yourselves in the foot constantly, fix the gun
  • Assess the trade-off youre making between quality and pace, make sure its appropriate for your context
  • Spending time sharpening the axe is almost always worth it
  • If you cant easily explain why something is difficult, then its incidental complexity, which is probably worth addressing
  • Try to solve bugs one layer deeper
  • Dont underestimate the value of digging into history to investigate some bugs
  • Bad code gives you feedback, perfect code doesnt. Err on the side of writing bad code
  • Make debugging easier
  • When working on a team, you should usually ask the question
  • Shipping cadence matters a lot. Think hard about what will get you shipping quickly and often

Source: Marcus’ Blog