Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building from Zero: Tomo's Engineering Journey

Building from Zero: Tomo's Engineering Journey

Tomo launched on June 30th, 2021, just about six months after we got the team on board and built our first prototype. In this talk I will share what we chose to invest in from the first month vs what we punted on for the future, some hard lessons learned, and what we have added on as we have grown in the past ~9 months since launch.

Audrey Troutt

March 14, 2022
Tweet

More Decks by Audrey Troutt

Other Decks in Technology

Transcript

  1. Building from Zero Tomo’s Engineering Journey Photo by Chris Tradgett

    on Unsplash Audrey Troutt VP Engineering Tomo auditty audreytroutt
  2. • Hire super senior team • Build a distributed engineering

    org • Use AWS • Integrate lots of 3rd party APIs • Implement lots of business logic and financial calculations • Need workflows and state management • Value security and reliability over speed or concurrency Overall, optimize for speed of development and flexibility Photo by Jonathan Kemper on Unsplash Starting Assumptions
  3. • Architecture: Microservices • Languages/Frameworks: React/JS and Python/Flask • Data

    storage: Aurora Postgres and S3 • Containerization: EKS and Fargate • Terraform: yes • Monitoring: Datadog • Source control and CI/CD: Github and Concourse Again, optimizing for speed of development and flexibility Photo by Jonathan Kemper on Unsplash First Decisions
  4. Continuous Delivery We are committed to continuous delivery and will

    make investments to make it safe to work that way. This enables our larger Tomo orientation around a bias for action and learning as fast as we can.
  5. Collective Ownership Teams own problems not services or apps. Every

    team member can make code changes where necessary. We are all responsible for quality, security, and DevOps.
  6. People over Process We trust in people to do the

    right thing and use process and structure as long as it helps us and doesn’t get in the way.
  7. • Architecture: Microservices • Languages/Frameworks: React/JS and Python/Flask • Data

    storage: Aurora Postgres and S3 • Containerization: EKS and Fargate • Terraform: yes • Monitoring: Datadog • Source control and CI/CD: Github and Concourse Again, optimizing for speed of development and flexibility Photo by Jonathan Kemper on Unsplash First Decisions
  8. Use Debt, Responsibly There are times when it is appropriate

    to take out that credit card and spend. We use debt to buy something essential like a refrigerator, but not something unnecessary like a pinball machine. And pay it back.
  9. • Terraforming → Terragrunt and Atlantis • Source Control and

    CI/CD → Gitlab and Gitlab Pipelines • Environments → Actually have prod (and be able to create env from scratch) • Container management → Rancher • Moved us-east-1 to us-west-2 • Added support for AWS SAM Add a SRE Team Photo by Jen Theodore on Unsplash
  10. If I could go back in time • No cute

    names • Set up monitoring and alerting sooner • Build end to end experience first • Use debt responsibly sooner • Be opinionated about contractor projects Photo by Jen Theodore on Unsplash
  11. Growth In the Right Areas Photo by Zoe Schaeffer on

    Unsplash • Teams • Planning • Testing • Tools • Policies Still optimizing for speed of learning and flexibility
  12. Strategic Platform Investments We make time to craft and prioritize

    for the big changes that make Tomo’s rapid experimentation and growth possible.
  13. Eventual coherence It’s okay to try something new or make

    a simple first implementation because we come back and clean it up.
  14. Knowledge Sharing Information should be searchable and discoverable. We have

    a bias for transparency. We anticipate what future teammates will need to know to keep building and make sure that gets captured and shared appropriately.
  15. Growth In the Right Areas Photo by Zoe Schaeffer on

    Unsplash • Teams • Planning • Testing • Tools • Policies • Strategic platform investments • Eventual coherence • Knowledge sharing Optimizing for speed of learning and flexibility
  16. Photo by Demian Tejeda-Benitez on Unsplash Building from Zero Tomo’s

    Engineering Journey Audrey Troutt VP Engineering Tomo auditty audreytroutt Want to join us? hellotomo.com/careers