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

Dev-Centric Culture at Wix - The Developer's Perspective

Lidan
November 08, 2016

Dev-Centric Culture at Wix - The Developer's Perspective

Lidan

November 08, 2016
Tweet

More Decks by Lidan

Other Decks in Technology

Transcript

  1. T H E D E V E L O P

    E R ’ S P E R S P E C T I V E Dev-Centric Culture at Wix Engineering Lidan Hifi Fullstack Developer, Wix
  2. Wix in Numbers Over 94M Users >2PB of Data 3

    DCs + 3 Clouds (Google, AWS, Azure) 2B HTTP 
 Req/day 1300 Employees
  3. How the customer explained it How the project leader understood

    it How the analyst designed it How the developer wrote it What the beta testers received How the business consultant described it How the project was documented What operations installed How the customer was billed How it was supported What marketing advertised When it was delivered What the customer really needed What the digg effect can do to your site What was the disaster recovery plan
  4. What is waste? Inventory Extra Processing Overproduction Waiting Defects Partially

    Done Work Paperwork Extra Features Waiting for information Defects
  5. MVP In product development, the minimum viable product (MVP) is

    a product with just enough features to gather validated learning about the product and its continues development — wikipedia
  6. Traditional Development 01 Product 02 Development 03 QA 04 Operations

    & Delivery When it’s ready, Ship it, don’t wait Then measure and fix it until customers are happy
  7. The Toyota Way Respect for people Full utilization of people

    capabilities Empower people with responsibility & authority Taiichi Ohno
  8. Product Manager Dev Project Manager DBA DBA QA QA Ops

    QA QA Ops Ops Designer Developers can do these jobs!
  9. Dev-Centric Culture F R O M D E V E

    L O P E R ’ S P E R S P E C T I V E
  10. TDD in Dev-Centric culture • Every line of code is

    covered by automated test • Tests should run on a random computer. There’s no local environment
  11. TDD in Dev-Centric culture • Every line of code is

    covered by automated test • Tests should run on a random computer. There’s no local environment
  12. TDD in Dev-Centric culture • Every line of code is

    covered by automated test • Tests should run on a random computer. There’s no local environment • Tests have to be readable- they are the project’s specs
  13. TDD in Dev-Centric culture • Every line of code is

    covered by automated test • Tests should run on a random computer. There’s no local environment • Tests have to be readable- they are the project’s specs • Before fixing a bug, reproduce it in a test first
  14. TDD in Dev-Centric culture • Every line of code is

    covered by automated test • Tests should run on a random computer. There’s no local environment • Tests have to be readable- they are the project’s specs • Before fixing a bug, reproduce it in a test first • Debugger?
  15. Feature Toggles ̣ Reducing risk associated with large changes ̣

    Safe to Fail ̣ Phased rollout- by geo, language, browser, %, etc. ̣ No staging environment
  16. QA

  17. Prepare to Invest • Trust your developers! Empower them to

    change production • Everyone need to care about everything • Eliminate waste. Build only what is needed, and validate it • Automate everything • Monitor- business KPIs, technical • Improve continuously