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

Startup Engineering: Hacker News London

Startup Engineering: Hacker News London

Presentation given about TaskRabbit engineering

Brian Leonard

May 20, 2014
Tweet

More Decks by Brian Leonard

Other Decks in Technology

Transcript

  1. Background •  Founded because of dogfood •  RunMyErrand in Facebook

    Fund •  Raised seed round •  Changed name to TaskRabbit •  Launched in San Francisco •  Launched several cities •  Expanded service types •  Raised a few more rounds We're revoluConizing the way people work by redefining what it means to be neighborly. 50 employees, thousands of Tasks a day, People earning living off of TaskRabbit
  2. Brian Leonard •  I grew up in Texas, went to

    school for computer engineering in S. Carolina, worked at IBM in Boston, and moved my family to SF to launch TaskRabbit. •  Chief Architect & Technical Co- founder •  Built rebranded TaskRabbit site •  Recruited/managed engineering team •  Transitioned to Chief Architect Pic
  3. TaskRabbit Engineering Values We have come to value the following:

    •  Customer Focus over long-term plans and releases •  Pragmatic Programming over software manifestos* •  Team Commitment over having just another job •  Tangible Impact over Internet stuff and fluff 
 
 * That is, while there is value in the items on the right,
 we value the items on the left more.
  4. Pragmatic Programming We balance approaches to get the job done.

    No tests Each line No pairing Stuck on You Clever girl Keep it simple Get it done Architecture
  5. Scaling the Site •  9 Cities •  10 Engineers • 

    100s of Tasks per day •  1000s of TaskRabbits •  Web traffic was under control but with big spikes
  6. Web App Stack Deployment Inter-app communicaCon Rack Middleware Business Logic

    Front End •  Capistrano •  Monitoring •  Bundler Persistence •  Message Bus •  Cross-Database •  API connecCons •  AuthenCcaCon •  Cookies •  Logging •  MySQL •  Redis •  Caching •  Whatever it does •  Rails MVC •  AuthorizaCon •  SCSS •  ERB / HAML •  jQuery
  7. Web App Stack Deployment Inter-app communicaCon Rack Middleware Business Logic

    Front End •  Capistrano •  Monitoring •  Bundler Persistence •  Message Bus •  Cross-Database •  API connecCons •  AuthenCcaCon •  Cookies •  Logging •  MySQL •  Redis •  Caching •  Whatever it does •  Rails MVC •  AuthorizaCon •  SCSS •  ERB / HAML •  jQuery ApplicaCon Shared Gems
  8. Task State Transitions started opened assigned completed closed Unposted Searching

    Happening Happened Paid On transiCons, an event is fired: •  Send mails to relevant parCcipants •  Publish to bus so other apps know •  Queue up related background jobs TransiCon Event
  9. Task State Transitions started opened assigned completed closed Unposted Searching

    Happening Happened Paid TransiCon Event Autotag Geocode Fraud Checks Calculate Relevance Logging / Metrics NoCfy Admins NoCfy Rabbits …
  10. You can’t stub real life •  What actually happens out

    there is exhausting •  Good tests can’t make up for bad product design •  It is difficult to model the nuisances of life •  More and more code is added to try
  11. You can’t stub real life •  What actually happens out

    there is exhausting •  Good tests can’t make up for bad product design •  It is difficult to model the nuisances of life •  More and more code is added to try
  12. Getting Started Summary •  Simple idea, execute well •  Create

    and respond to events •  Product simplicity over code