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

Mercari India Dev Meetup #02 Mobile

mercari
February 16, 2023

Mercari India Dev Meetup #02 Mobile

Launched in 2013, Mercari is Japan’s largest C2C marketplace with over 20 million monthly users. Through the Mercari app, users can sell their used or unwanted items to those who need them just by taking a photo and entering in some basic information. We have also successfully launched new businesses such as our mobile payment service Merpay.
The app currently operates in Japan and the US, with 5.6 million monthly users in the US (as of 2022.3). In 2022, Mercari established a Center of Excellence in Bengaluru, India—our first development base outside Japan and the US.

Over the past 2 years, the mobile development team in Mercari has completely redesigned our iOS, Android, and Web apps using the latest technologies. We are now embarking on an even more exciting phase of Mercari's growth, where we will continue to grow the service through our high technological capabilities.

This phase will bring many opportunities for engineers interested in using advanced tech to enhance productivity as well as those who are eager to contribute to concepts such as design systems, accessibility features, dark mode and other cutting-edge innovations.

Technical challenges are a shortcut to growth for an engineer, so we expect that this next phase will offer the ultimate development experience for engineers looking to take on these types of challenges.

This slide was presented at Mercari India Dev Meetup on the 21st January to introduce the Mobile Engineering team of Mercari group. The recording can be viewed from the link below.
https://www.youtube.com/watch?v=t4d7f-nj_cg

Please follow us on our LinkedIn account for the latest information!
https://www.linkedin.com/company/mercari-india/

#Engineering #MercariIndia #iOS #android

mercari

February 16, 2023
Tweet

More Decks by mercari

Other Decks in Technology

Transcript

  1. Presentation Title
    Subtitle

    View full-size slide

  2. We have a livestreaming on YouTube
    Feel free to leave questions on Q&A section
    Share on with #MercariIndia
    Event Information

    View full-size slide

  3. Today’s MC 🎙
    Kayo Osumi
    Joined Mercari in 2018 to support
    30 engineers onboarding from IIT.
    Employer Branding Mercari India
    from 2022.
    Before joining Mercari, I was
    working at Indian startup and
    lived in Gurgaon.

    View full-size slide

  4. \ Let’s get started!/
    Ice Break
    Do you know what is the
    meaning of Mercari??

    View full-size slide

  5. Mercari came from the Latin word
    meaning "trade" or "commerce"

    View full-size slide

  6. 11:00-11:05: Open the virtual room
    11:05-11:10: Welcome, Event outline & rules shared
    11:10-11:20: Mercari India introduction by Mohan
    11:20-: Engineering for Japan’s largest c2c Marketplace
    1. Mostapha Baalbaki
    2. Anton Krutko
    3. Manoj Gubba
    4. Abhinav Joshi
    Closing Remarks and open for Q&A
    Agenda

    View full-size slide

  7. Introduction of 
    Mercari
    Head of Engineering, Mercari India
    Mohan.Bhatkar

    View full-size slide

  8.   
    What Is Mercari?
    8

    View full-size slide

  9.   
    Mercari’s Strengths: Easy-to-Use

    9
    Escrow payment Mercari Shipping

    AI Listing
    Barcode Listing

    Mercari acts as a go-between
    in transactions to prevent
    disputes

    - Flat-rate shipping across
    the country
    - No need to write addresses
    - Anonymous shipping

    - Automatic data entry
    - Price suggestions

    Seller Buyer
    Listing
    Payment
    notification
    Buyer
    rating
    Balance
    Payment
    Seller rating
    Delivery

    View full-size slide

  10.   
    Company Overview
    Mercari Group is made up of Mercari, Inc., and its consolidated subsidiaries.
    10
    Established
    Activities
    Representative
    Locations
    Mercari, Inc.
    Established
    Activities
    Locations
    Offices
    Representative
    Representative of Mercari JP
    February 1, 2013
    Planning, development, and operation of the Mercari marketplace app
    Roppongi Hills Mori Tower, 6-10-1 Roppongi, Minato-ku, Tokyo 106-6118, Japan
    Tokyo, Sendai, Fukuoka
    Shintaro Yamada
    Jeff LeBeau
    January 2014
    Planning, development,
    and operation of the US
    version of Mercari
    John Lagerling
    Palo Alto, CA
    Mercari, Inc.
    (US)
    October 1, 1991
    Management of a
    soccer club
    Fumiaki Koizumi
    Higashiyama 2887, Aō,
    Kashima, Ibaraki,
    Japan
    Kashima Antlers
    F.C. Co., Ltd.
    January 28, 2021
    Planning, development,
    and management of
    internet services
    Yuki Ishikawa
    Souzoh, Inc.
    November 20, 2017
    Financial-related
    businesses
    Masato Yamamoto
    Merpay, Inc.
    April 28, 2021
    Cryptoasset- and
    blockchain-related
    services
    Naoki Aoyagi
    Mercoin, Inc.
    Merlogi, Inc.
    October 28, 2021
    Planning, development,
    and management of
    logistics services
    Tomoyuki Shindo
    Japan Region

    View full-size slide

  11. • Mercari India Development Center (IDC)
    leveraging a plug and play model to enable
    business expansion and build new capabilities for
    Business growth
    • Through India, Mercari wants to create high quality
    service and wants to hire top talent as it believes
    India is a good place to start when it comes to
    technology talent
    • We started hiring outside the country in earnest in
    2017, and in 2018 and 2019, we hired about 50 new
    graduates from IITs in India. Already have a lot of
    active Indian engineers in our company.
    • Mercari wishes to expand its product offerings and
    looking for global locations for their growth.
    Mercari launched India Center of Excellence!
    11
    Mercari India in Bangalore!!

    View full-size slide

  12. Mercari India core objective
    Expansion of Mercari Group's product development capability through global engineering
    excellence.

    View full-size slide

  13. Mercari India Team First Thinking
    The team is the most effective means of software delivery, not individuals.
    EM PM/TPM
    SWE/TL SWE
    SWE SWE SWE

    View full-size slide

  14. Mercari India Team First Thinking
    Building self sufficient teams to deliver customer/business value is the end goal.
    Forming
    ● Creating team plan with
    JR/US stakeholders
    ● Hiring team with JR/US
    stakeholders
    ● Establishing Mercari
    India HR, corporate,
    governance foundations
    Storming
    ● Onboarding members with
    JR/US stakeholders
    ● Establish process to work
    together between JR/US
    and India
    Norming
    ● Transitioning team to self
    sufficient mode
    ● Transferring ownership
    with equal purpose of
    work
    Performing
    ● Team functions on its
    own with full potential
    ● Team can scale without
    JR/US support
    ● Strong alignment with
    Mercari Group’s
    product/business/organiz
    ation roadmap

    View full-size slide

  15. Mercari India FY2023 plan
    Establish product development organization of ~50 size with scalable foundation.

    View full-size slide

  16. NOW HIRING: Software Engineer, Android / Software Engineer, ios

    View full-size slide

  17. Software Engineer, Android at Mercari India

    17
    ● Native Android app development for Mercari and
    group companies' apps
    ● Tech stack
    ○ Development language: Kotlin
    ○ Development environment: Android Studio
    ○ Build tool: Gradle
    ○ CI/CD: CircleCI
    ○ Others: GitHub, Firebase, Slack, Figma, JIRA,
    Confluence
    ○ Architecture frameworks like MVVM, MVP,
    declarative UI, etc. https://careers.mercari.com/hello-india/

    View full-size slide

  18. Software Engineer, iOS at Mercari India

    18
    ● Native ios app development for Mercari and group
    companies' apps
    ● Tech stack
    ○ Development language: Swift
    ○ Libraries and frameworks : UI kit, Swift UI, etc.
    ○ Build tool: Bazle
    ○ Others: GitHub, Firebase, Slack, Figma, JIRA,
    Confluence
    ○ Architecture frameworks like MVVM, MVP,
    declarative UI, etc.
    https://careers.mercari.com/hello-india/

    View full-size slide

  19. 1 year story of Mercari India
    Please check out 1 year story of Mercari India
    and join us in this exciting journey !

    View full-size slide

  20. Presentation
    Mostapha Baalbaki
    Engineering Manager

    View full-size slide

  21. 21
    Strawberry Team Introduction 🍓
    @mustafa

    View full-size slide

  22. 30
    Strawberry Team belongs to Camp Core
    Camp Core focuses on the core
    marketplace experience for our
    users (buyers and sellers)

    View full-size slide

  23. 31
    We are one camp… ONE team!
    The Camps exist to create a great product
    development environment, where global talent
    from across the world can work together in
    Mercari and create value for our customers.
    ● Empowerment
    ● Commitment
    ● Transparency
    ● Outcome
    ● #GoBold
    Accountable autonomy Safe environment
    ● Building a product is a
    marathon
    ● Sustainable speed
    ● Work-Life Balance
    ● Fail fast, Learn fast
    ● Diversity of thoughts

    View full-size slide

  24. 33
    Let me introduce the Software Engineers 󰗲
    @wills
    Frontend
    @Drew
    Frontend
    @joehsieh
    iOS
    @Tomato
    Android
    @cont-k-ishikura
    iOS
    @Misha K
    Android
    @kowase
    iOS / Android
    @Sahil
    Frontend @atulsharma
    Android (intern)
    @Ishwar (Ishu)
    Android (intern)

    View full-size slide

  25. 34
    TPMs, QA, Designer and BI members 󰗲
    @camy
    TPM
    @AJ
    TPM
    @danielg
    QA
    @Nori
    QA
    @alexander.liu
    QA
    @Masa
    Designer
    @Alisa
    Designer
    @Toshi
    Designer
    @Aggy
    UXR
    @Lingkeng
    BI

    View full-size slide

  26. 35
    Team daily standup bot (built by @kowase san)

    View full-size slide

  27. 36
    Team Building culture

    View full-size slide

  28. Presentation
    Anton Krutko
    Android Engineer

    View full-size slide

  29. Strawberry Team. Android Engineer
    perspective.
    @Tomato 🍅

    View full-size slide

  30. Software Engineer, Android
    Anton
    Krutko

    View full-size slide

  31. Making marketplace experience of our users better. 🎈
    What do we do in Strawberry Team?
    Image by pikisuperstar

    View full-size slide

  32. Item Detail
    Domain?
    Checkout Notifications

    View full-size slide

  33. Tech Stack?
    ● Kotlin Only
    ● Jetpack Compose Only*
    ● MVVM/Clean Architecture**
    ● Dagger/Hilt
    ● Coroutines/Coroutines Flow
    ● JUnit4***, JUnit5
    *Except things currently not supported by Compose
    **Self made, constantly evolving
    ***Robolectric
    "The Android robot is reproduced or modified from work created and shared by Google and used according to
    terms described in the Creative Commons 3.0 Attribution License."

    View full-size slide

  34. Challenges?
    Challenge 1.
    Checkout On-Client calculation (🍰?)
    ● Mercari Points
    ● Docomo Points
    ● Mercari Funds
    ● Coupons
    ● Payment method fees
    ● Promotions
    ● Business driven logic and restrictions

    View full-size slide

  35. Challenges?
    ● Refactoring
    ● API
    ● Loading delays
    ● Error scenarios
    Challenge 2.
    Move everything to the backend (🍰?)
    API Refactoring ⚙
    Coroutines to the rescue, but…

    View full-size slide

  36. Presentation
    Manoj Gubba
    Tech Lead, iOS

    View full-size slide

  37. 46
    Personalization Core Team (iOS)
    Introduction
    @manoj

    View full-size slide

  38. 47
    ● From Hyderabad
    ● Graduated from IIT Kharagpur in 2018
    ● Joined Mercari as a New Grad
    ● Worked mostly on iOS apps
    ● Also worked with Flutter, iOT, embedded
    systems and Android
    ● Likes
    ○ Reading books 📚
    ○ Playing games 🎮
    Manoj Kumar Gubba

    Software Engineer, iOS

    View full-size slide

  39. 48
    ● Responsible for bringing Personalization and Discovery features to
    the users.
    What do we do in Personalization core team?

    View full-size slide

  40. 49
    Meet my team
    Stouf Me Araki Joshi Vaibhav Xiaofan
    Romy Bharath Alex Curry

    View full-size slide

  41. 50
    Screens - Home
    Recommend Tab Topics Tab My list Tab

    View full-size slide

  42. 51
    Screens - Search

    View full-size slide

  43. 53
    iOS Tech Stack
    ● 100% Swift
    ● SwiftUI
    ● Declarative Architecture
    ● Bazel build system
    ● CircleCI

    View full-size slide

  44. 54
    Some of the challenges we have tackled
    ● GroundUP
    ● Performance issues with SwiftUI
    ● Client logging systems
    ● Accessibility
    ● Localization
    ● Dark Mode

    View full-size slide

  45. 55
    Our team values
    ● Embrace Diversity
    ● Blameless culture
    ● Promote personal growth and development
    ● Adopt a data-driven behavior
    ● Eliminate bottlenecks, maintain a strong documentation and
    share knowledge
    ● Embrace automations

    View full-size slide

  46. 56
    - Hackweeks 󰝯
    - Movie Nights 🍿
    - Team lunches/dinners 🍾
    - Club activities 🤓
    - etc.
    Fun things we do

    View full-size slide

  47. Presentation
    Abhinav Joshi
    Android Engineer

    View full-size slide

  48. 58
    Personalization Core Team Introduction.
    Android Engineer Perspective
    @Joshi

    View full-size slide

  49. 59
    Software Engineer, Android
    Abhinav
    Joshi

    View full-size slide

  50. 60
    Making the user experience have a personal touch. 🫰
    What do we do in Personalization Team?
    Image by macrovector

    View full-size slide

  51. 61
    Home
    Domain Home 🏡 & Search 🔎
    Search Saved Search

    View full-size slide

  52. 62
    What do we use? Tech Stack?
    ● 100 % Kotlin
    ● Jetpack Compose
    ● Design System
    ● MVVM/Clean Architecture
    ● Dagger/Hilt
    ● Coroutines/Coroutines Flow
    ● JUnit4, JUnit5
    "The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License."

    View full-size slide

  53. 63
    Challenges?
    Technical Challenge.
    ● Create Scalable Component
    architecture for Home
    ● Complex view support with compose
    ● Good performance
    ● Multiple sequential and concurrent calls
    ● Tech Debt

    View full-size slide

  54. 64
    Challenges?
    ● Communication
    ● Blockers
    ● Conflict resolution
    ● Learning from past mistakes
    ● Scrum ceremonies
    ● Organization and Knowledge bank
    Soft skill challenges
    Image by pch.vector

    View full-size slide

  55. 65
    Meet my awesome team 🔥💯
    Bharath
    Swamy
    Xiaofan Dai
    (Android
    Engineer)
    Manoj Gubba
    (iOS Engineer)
    Stephan
    (Engineer
    Manager)
    Atsushi
    Araki (iOS
    Engineer)
    Vaibhav Jain
    (Android
    Engineer)
    Romy
    (Frontend
    Engineer)
    Alexander
    (Backend
    Engineer)

    View full-size slide

  56. 66
    What do we do for fun?
    ● Hack Fest 👾
    ● Club activities 🎭
    ● Team buildings 🍻
    ● Movie nights 🎥
    ● Lunch and Learn 📚🍕

    View full-size slide

  57. Q & A
    Please ask any questions!!

    View full-size slide

  58. Office Photo

    View full-size slide

  59. Thank you for joining!!
    iOS Android
    Follow Us!!
    #MercariIndia

    View full-size slide