Slide 1

Slide 1 text

Software Development at Mercari Yuichiro Saito (@koemu) International Olympiad in Informatics Sep 7th, 2018

Slide 2

Slide 2 text

● 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

Slide 3

Slide 3 text

Programming is about solving problems 3

Slide 4

Slide 4 text

COMPETITIVE PROGRAMMING REAL-WORLD ENGINEERING Given a problem Find the problem Improve yourself Improve society 4

Slide 5

Slide 5 text

Me ↓ 5

Slide 6

Slide 6 text

Me ↓ 6

Slide 7

Slide 7 text

Mercari’s Mission Create value in a global marketplace where anyone can buy & sell 7

Slide 8

Slide 8 text

8 Reduce Waste, Create Value →

Slide 9

Slide 9 text

9 Mercari app, similar product recommendations Product pages show related items. Problem: Loads too slow

Slide 10

Slide 10 text

10 1. Identify Issue 2. Solve Issue 3. Measure Results As an engineer...

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

3. Measure Results - Significantly decreased access to database (shown in purple below) - Improved latency by 30%! 13 Released at 2:35 PM ↓

Slide 14

Slide 14 text

➔ Performance optimization 14 Impact

Slide 15

Slide 15 text

➔ Better customer experience 15 Impact

Slide 16

Slide 16 text

➔ More completed transactions 16 Impact

Slide 17

Slide 17 text

➔ Less waste, more value 17 Impact

Slide 18

Slide 18 text

This is the future you can create. 18

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

We’re hiring! For further questions, visit us at the Mercari Booth. Link to slides pinned on Twitter (@koemu_s) 20

Slide 21

Slide 21 text

Credits Images from 「いらすとや」 https://www.irasutoya.com/ English Translation by Sherry Zhang 21