quora s approach to moving fast sustainably
play

Quoras Approach To Moving Fast Sustainably (In Ten Lessons) Nikhil - PowerPoint PPT Presentation

Quoras Approach To Moving Fast Sustainably (In Ten Lessons) Nikhil Garg (@nikhilgarg) Qcon San Francisco, 11/18/2015 IIT Delhi Quoras Mission To Grow And Share Worlds Knowledge Quora is a place where a normal teenager from a


  1. Quora’s Approach To Moving Fast Sustainably (In Ten Lessons) Nikhil Garg (@nikhilgarg) Qcon San Francisco, 11/18/2015

  2. IIT Delhi

  3. Quora’s Mission To Grow And Share World’s Knowledge

  4. “Quora is a place where a normal teenager from a remote Asian country can get direct advice from world’s top astronauts, programmers, novelists and many others.” Rajeeb Banstola High School Student, Nepal

  5. @Quora { Founded in 2010 65 Engineers Python, JS, C++ }

  6. 1. Moving Fast 2. Moving Fast Recklessly 3. Ten Lessons For Sustainability

  7. 1. Moving Fast 2. Moving Fast Recklessly 3. Ten Lessons For Sustainability

  8. Maximizing Innovation

  9. Winner Takes All

  10. 1. Moving Fast 2. Moving Fast Recklessly 3. Ten Lessons For Sustainability

  11. Code Becomes Messy

  12. Developers Become Unhappy

  13. Development Can Just Halt

  14. ...So Must Move Fast, Sustainably

  15. 1. Moving Fast 2. Moving Fast Recklessly 3. Ten Lessons For Sustainability

  16. 1. Move Fast, On Average

  17. 2. Define Your Long-Enough Term 2: Think Long Enough Term

  18. 3. Do The Math. There IS Free Lunch

  19. Building a Linter takes 4 weeks (160 hours) Saves 1 hour per developer per week At 50 developers, saves 50 hours per week Saves 400 hours in 8 more weeks

  20. Qlint: Quora’s Python Linter

  21. Soon Going to Open Source Qlint :)

  22. 4. Commit Publicly

  23. Define your long-enough term Publicly commit to it Empower developers to order free-lunch Enjoy higher increased average speed

  24. 5. Cut Corners In Scope

  25. 6. Optimize Productivity Bottlenecks

  26. Testing At Quora

  27. 7. Reward Acceleration

  28. Code Cleanup

  29. Automation

  30. 8. Prevent Deceleration

  31. Slow Creep Of Complexity

  32. Batched Code Cleanup At Quora

  33. Codebase Is A Tree

  34. 9. Optimize Processes

  35. Continuous Deployment ‘Git Push’ To Production In 10 Minutes

  36. 10. Be Practical, Not Ideological

  37. Code Reviews Are Awesome

  38. Style / Design Education / Collaboration Correctness [?] [?] http://research.microsoft.com/pubs/180283/ICSE%202013-codereview.pdf

  39. But Pre-Commit Reviews Are Costly

  40. Taking continuous deployment to the next level Post Commit Code Reviews (Code is reviewed after it goes to production)

  41. Style / Design Education / Collaboration Correctness [?] → Testing [?] http://research.microsoft.com/pubs/180283/ICSE%202013-codereview.pdf

  42. Fall Back To Pre-Commit Reviews

  43. Codebase Is A Tree

  44. Easier to ask for forgiveness than permission!

  45. Avoid truly terrible outcomes Maximize expected speed Minimize bad outcomes

  46. Summary

  47. Move Fast, On Average Optimize Productivity Bottlenecks Define Your Long Enough Term Reward Acceleration Do the Math. There IS Free Lunch Prevent Deceleration Commit Publicly Optimize Processes Cut Corners In Scope Be Practical, Not Ideological

  48. ● Empower developers to move fast on average over long enough term by getting free lunch. ● Profile productivity like code, measure, optimize, make practical trade-offs. ● Post commit code reviews work, codebase is a tree.

  49. Thank you! Quora Is Hiring Nikhil Garg @nikhilgarg28 { Gmail, Github, Twitter, LinkedIn }

Recommend


More recommend