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

Software Development at Mercari #ioi2018

Software Development at Mercari #ioi2018

Programming for a competition and programming for work are similar.
In both cases, programming is about solving problems.

Yuichiro SAITO
PRO

September 07, 2018
Tweet

More Decks by Yuichiro SAITO

Other Decks in Programming

Transcript

  1. Software Development at Mercari Yuichiro Saito (@koemu) International Olympiad in

    Informatics Sep 7th, 2018
  2. • Slides are uploaded on Speaker Deck (check the pinned

    post my Twitter @koemu_s) • Feel free to record and/or share this presentation on social media! • Have questions? ◦ Q&A time after presentation ◦ Visit us at the Mercari booth (in the hallway between the main entrance and Capio) ◦ Contact me at [email protected] 2 Before we begin
  3. Programming is about solving problems 3

  4. COMPETITIVE PROGRAMMING REAL-WORLD ENGINEERING Given a problem Find the problem

    Improve yourself Improve society 4
  5. Me ↓ 5

  6. Me ↓ 6

  7. Mercari’s Mission Create value in a global marketplace where anyone

    can buy & sell 7
  8. 8 Reduce Waste, Create Value →

  9. 9 Mercari app, similar product recommendations Product pages show related

    items. Problem: Loads too slow
  10. 10 1. Identify Issue 2. Solve Issue 3. Measure Results

    As an engineer...
  11. 1. Identify Issue - Used monitoring software to confirm breakdown

    of latency of each process - Latency of access to the database was several times higher compared to other functions - Identified that the backend application was recursively retrieving product attributes 11
  12. 2. Solve Issue Incorporated a cache system when accessing the

    database - Saves product attributes to memory - Maintain memory space using Least Recently Used (LRU) algorithm 12 How memcached works. Image from: https://zenmachine.wordpress.com/2008/12/03/50/ More on the LRU algorithm: https://github.com/memcached/memcached/wiki/UserInternals
  13. 3. Measure Results - Significantly decreased access to database (shown

    in purple below) - Improved latency by 30%! 13 Released at 2:35 PM ↓
  14. ➔ Performance optimization 14 Impact

  15. ➔ Better customer experience 15 Impact

  16. ➔ More completed transactions 16 Impact

  17. ➔ Less waste, more value 17 Impact

  18. This is the future you can create. 18

  19. Q&A Time Please raise your hand if you have questions!

    19
  20. We’re hiring! For further questions, visit us at the Mercari

    Booth. Link to slides pinned on Twitter (@koemu_s) 20
  21. Credits Images from 「いらすとや」 https://www.irasutoya.com/ English Translation by Sherry Zhang

    21