Design/Coding rules

  1. Data and Operations should be seperate

  2. Workflows are awesome

  3. Work from the outside in

    1. Then from the Inside out
  4. TDD TDD TDD

  5. Keep the IO partitioned and at the edges

  6. API's need to be *tight

    1. More Permissive == more Headaches
  7. Fuzzy states are bad

  8. Every if has an else

  9. Boilerplate is bad (boring to review hard to get right)