[EN] Mercari Tech Conf 2017 Keynote

92cdcff298e89e2fcd2fb705155c2d4b?s=47 mercari
September 30, 2017

[EN] Mercari Tech Conf 2017 Keynote



September 30, 2017


  1. 2.

    4 years since the app release 7.5m downloads (Japan/US) Monthly

    GMV over 10b yen 3 regions Over 100 software engineers
  2. 4.
  3. 5.

    Have too many things ↓ How to use them? ↓

    Sell to someone else Smartphone usage rising worldwide A new era: anyone can use a smartphone app to sell things to other people Mercari’s Business Concept
  4. 6.

    To realize this concept, we must keep in mind… Move

    faster than the competition Make use of our late start 2 How to list items: Anyone should be able to list an item easily 1
  5. 7.

    App DB Master DB Slave App Backend read/write replication read

    App App LB LB Cache NDB NDB NDB NDB MySQL NDB Cluster Infrastructure? For example, a common structure
  6. 9.

    Architecture and Technology Stack Server Client ・HTTPS + JSON API

    ・MVC ・Linux + Apache + MySQL5.6 + PHP5.3 ・Dedicated server: 6core * 2CPU, RAM64GB, SSD200GB ・Provides 95 types of API ・iOS/Android native + WebView DB Master App
  7. 10.
  8. 11.

    Feature #751 Considering a search feature - look at usage

    by Shintaro Yamada, 2013/06/01 Why No Search Feature? Users No hits = bad experience Developers Building a search system takes time
  9. 12.

    A B

  10. 15.

    May 2014 56 tickets involving load issues Dealt with in

    two months Full-blown load tests Introduced cache TV Commercials
  11. 16.

    ・Single infrastructure ・No search function ・Optimizing images ・Making timeline native

    ・Load issues for the TV ad ・...And many more... Hurdles Understand the business concept  ↓ Decide which issues to solve  ↓ Make bold decisions The start-up phase
  12. 19.
  13. 20.
  14. 21.

    Mercari’s Expansion Strategic expansion into new regions Continued focus on

    Mercari UX improvements Creation of new platforms
  15. 25.

    Continuously Evolving Souzoh • Birth of a new subsidiary to

    develop and run new enterprises • CtoC in new areas, expanding Mercari to specialize in certain areas • Released new services like Atte, Kauru, Maisonz Small organization, delegation of authority A completely new challenge Making a platform
  16. 26.

    Continuously Evolving US Growth • Continue to evolve on the

    organization side to grow the business • Help from Japan at first • Currently localizing the organization Help from Japan at first Dealing with local demands Gradually localizing
  17. 27.

    Continuously Evolving Client Source Code Fork • At first, to

    optimize resources, used multiple binaries with one source • Different cultures of different countries • Developed to meet users’ needs • So small teams can make decisions quickly Merits to sharing at first Delegation of authority Optimizing UI/UX
  18. 28.
  19. 30.

    Mercari’s Project Team JP US UK SRE (Site Reliability Engineer)

    QA/SET (Software Engineer in Test) Seller UX PJ Manager Designer Server Side iOS Android Frontend ... Growth PJ Manager Designer Server Side Frontend ... ... Search PJ Manager Designer Server Side iOS Android ... ... ... UK Manager Designer Server Side iOS Android ...
  20. 31.

    Cross-Region Engineering Team Supporting the Project Team QA/SET (Software Engineer

    in Test) Engineering Operations SRE Site Reliability Engineer Provides a sense of reliability (“can always use the product comfortably and safely”) to users. Not just in charge of the infrastructure; responsible for reliability as well. Responsible for the quality of software. In the Project Team, QA does manual tests and SET does automation and provides environments. Responsible for developing the team structure and hiring. Takes the lead for hiring, internships, branding, and presence expansion.
  21. 33.

    Mercari’s Values Hey guys, we changed the WiFi settings on

    the Souzoh side of the office, but it looks like it’s got a bit unstable. Went ahead and changed the settings back! Really sorry for the inconvenience.
  22. 36.

    Scalable and Elastic Elastic Scalable The number of engineers will

    grow to 500, 1000, even 2000 people globally Trends change daily • Speed and efficiency of development shouldn’t drop • The product quality shouldn’t drop • Should bring out 100% of each individual’s abilities • Should be able to commit right away even if moved to another team • Should put people on areas that need more power to raise the development speed Both new and experienced engineers should be able to grow naturally
  23. 39.

    Japan ・Introducing new tech (like Mercari Channel) ・Increased complexity from

    platformization ・Scaling of databases ・Optimization of content distribution ・Better UX through improved search precision
  24. 40.

    US ・Growth and feature improvements ・Architecture reforms and code refactoring

    ・Adding US-specific features ・Automation of trouble prevention and fraud detection
  25. 51.

    Our approach to microservices Mercari API MySQL Solr API Gateway

    Search Service Offer Service Search SaaS Cloud Spanner
  26. 54.

    Examples of automation in action Go Bold Bot ▪ Bot

    that handles Mercari’s 400+ deploys each month
  27. 55.

    Examples of automation in action “Tonkotsu” bot Account Bot (↑↑This

    is a bot that checks the App Store/Google Play to see when our updates have been published)
  28. 57.

    An environment that encourages Karakuri Problem occurs ↓ Look for

    the cause ↓ Think of ways the problem could have been prevented ↓ Implement the solution from above ↓ Now the problem won’t happen, even if we mess up Mercari
  29. 62.

    Mercari Machine Learning Use Cases Already implemented Testing and researching

    ・Price suggestions based on text input ・Improved search results through search intent predictions ・Suggestions based on demographic/interests ・Productivity support for CS team ・Image- and text-based price suggestions ・Replies to tier 1 CS inquiries ・Optimization of onboarding process ・Automated detection of illicit listings ・Image-based automated recognition of category/brand/color
  30. 64.