Engineering Practices



We're a Team

Team members take ownership over parts of the application. However, we provide feedback (e.g., quick PRs reviews) and help each other grow

Make the User the Hero

We consider user personas in every product decision. We "dog food" our product on our team. We incorporate linters to detect/prevent a11y problems

Create Leverage

We pay to equip our team the best tools for the job. This includes using the best IDEs, continuous integration, and languages. We're always on the lookout for ways to create more leverage — see the "developer experience" tag on our public GitHub

Always be Compounding (ABC)

We're always looking to build on our existing foundations so we can move faster. This includes documentation, linters, tests, UI storybooks, and more

Collaboration Practices

  • Kanban: deliver value continuously, limit work-in-progress
  • Default to asynchronous communication
  • Lightweight team meetings:
    • Weekly kickoff (Zoom): celebrate wins, preview week ahead, prioritize
    • Standup:
      • Tuesdays/Thursdays: Slack
      • Wednesdays/Fridays: Zoom
  • 🐹
    Engineering Show & Tell
  • 🎒 Brown Bag Breakfast/Lunch/Dinner: informal knowledge sharing sessions

Collaboration Tools

  • Google: for email/calendar; internal emails are rare
  • GitHub: see our open-source repository
  • Notion: knowledge base
  • Trello: business task tracking
  • Balsamiq: low-fidelity wireframes
  • Figma: wireframes, designs, interactive prototypes
  • 1Password
  • Slack
  • Zoom
  • Loom

Tech/Development Stack

  • Frontend: TypeScript, React, Redux, Storybook, Jest
  • Backend: Python, Django, DRF, PostgreSQL
  • GitHub: PRs, actions
  • Rainforest QA: E2E testing
  • Codacy: lint, coverage tracking
  • Heroku: API, application hosting
  • Rollbar: error telemetry
  • New Relic: application performance monitoring
  • Mixpanel: action telemetry
  • StatusPage (powered by Pingdom)

Other Pages

Engineering Show & Tell