1

We believe listening to educators helps us build the highest impact product, so:

  • Our mission is our top priority.
  • We listen first.
  • We agree on problems before seeking solutions.
  • We focus: engineers work on one thing at a time.
  • We’re equally good at knowing what to work and what not to work on.
  • We realize we always have room to grow.
2

We believe learning and teaching must be a core part of the engineering process in order to scale with the increasing value we create for educators, so:

  • We learn while we build; we learn continuously.
  • We learn through mistakes and blameless post-mortems.
  • Nothing is shipped until it’s taught. Documentation, automation, and communication are integral parts of the product.
  • We’re curious. Instead of saying “it’s broken for some reason,” we say, “it’s broken for a reason I’m about to find out.”
  • We default to trust and open communication.
  • We share our learnings back to the engineering community.
  • We give direct, frequent feedback.
  • We iterate quickly and learn from data.
3

We believe technical excellence, in the form of simplicity and maintainability, is required to make a long-term impact, so:

  • We take pride in our work.
  • We seek early design reviews.
  • We engineer for maintainability from the beginning.
  • We leave code better than we found it.
  • We automate aggressively, viewing automation as learning at a team scale.
  • We do “gap weeks” to improve our systems and learn good engineering practices.
  • We give meaningful advice in code reviews.
  • We release frequently, practicing continuous delivery.
  • We solve underlying problems in systems instead of patching symptoms.
4

We believe in holistic engineering: the engineers closest to the problems make the best decisions, so:

  • We empower teams to make decisions for their product and users.
  • We give teams the resources and ability to experiment required to make those decisions.
  • We default to flexible action over extremely detailed planning or complex estimates.
  • We realize that decisions have a shelf life, so we revisit decisions periodically.
  • We recognize that a decision is better than no decision.