This article describes the role of the Merpay Enabling Client Team, of which I am the manager, and what we will be moving forward with.
Merpay Enabling Client Team
The Enabling Program is an organization that supports the entire development process, including solving cross-functional technical issues and improving productivity, with roles such as Architect, SRE, and Data Platform. For more information on the Program-based organization, please refer to @keigow’s article on Day 2.
The Merpay Enabling Client Team consists of Web/Android/iOS and is responsible for promoting cross-functional projects in the Client area.
Until October 2023, the Client team was divided by platform (Web/Android/iOS), and I was the manager of the Merpay iOS team, but after the transition to the Program-based organization structure, I am now the manager of the Enabling Client Team.
The team’s vision is:
“Enable continuous product improvement through client engineering excellence”
We intend to contribute to the growth of the product as a team. The word "excellence" is a reference to a statement made by current Apple CEO Tim Cook in 2009 while former Apple CEO, the late Steve Jobs, was recuperating.
"We don’t settle for anything less than excellence in every group in the company — and we have the self honesty to admit when we’re wrong and the courage to change."
The intention is to have that same mindset in our team.
The team’s responsibilities are
- Client tech direction and governance within Merpay
- Build optimized architecture for Mercari Group
- Install best practices in Merpay product teams
We work on solving cross-functional technical issues to contribute to the growth of the product.
We are currently a small team with a mix of Japanese and English speakers, and we try to keep the language policy of the team neutral. For example, in weekly team meetings, we switch the main language between Japanese and English each week. Since Mercari Group has a diverse range of members, we believe that we need to be language-neutral in order to promote cross-functional projects.
Currently, our mid-term roadmap is Zero Legacy & Group Optimized Architecture, and we are currently working on several projects for it.
The first is an update of the authentication infrastructure. This is a project being promoted throughout Mercari Group, and we are working on updating the authentication mechanism used in our apps. Under the Mercari Mobile Architect Team’s lead, the Merpay Enabling Client Team is specifically working on updating interaction between our apps and the API that provides Merpay-related features and authentication methods for in-app WebView and iOS App Extensions.
The second is an update of the UI framework for the iOS/Android app.
Last year, the Mercari app was fully rewritten from scratch through the GroundUP App project. Now it is entirely based on an in-house design system built with declarative UI frameworks such as SwiftUI/Jetpack Compose.
- Making Mercari’s Business and Ecosystem Sustainable: Our Journey to Creating GroundUp App, a Project More Colossal Than Anything We Have Done Before
- “Just Wait Till You See What’s Next for Mercari Engineering”: The iOS & Android Tech Leads Recap the “GroundUp App” Project
Because the features in the Merpay area were designed to be portable, and we continued to develop some features in parallel while the project was underway, existing features in the new app after the GroundUP App project were still using a UIKit/Android View-based technology stack.
Merpay is currently working across the company to apply the design system to existing and newly developed features aiming to unify the technology stack and the user experience of the app across Mercari Group.
I am personally in charge of leading this project, managing the overall progress, scheduling, and reporting to the VP to accomplish the project, and we have already released several features with the new design system.
In addition to the benefits of development with declarative UI frameworks such as SwiftUI and Jetpack Compose, applying the new design system facilitates support for dark mode, which was not previously supported, and accessibility.
Although it has not yet been applied to some features, we aim to eventually have all features migrated by increasing the coverage rate in the future.
- [JA]【書き起こし】Merpay iOSのGroundUP Appへの移行 – kenmaz【Merpay & Mercoin Tech Fest 2023】
- [JA]【書き起こし】段階的Jetpack Compose導入〜メルペイの場合〜 – Junya Matsuyama【Merpay Tech Fest 2022】
The third is an update of the web frameworks.
Merpay operates a variety of web services, including tools for customer support, tools for merchants, and various campaign pages.
Vue and Nuxt.js are used as the main frameworks for those web services. But Vue2 and Nuxt2 support is scheduled to end in December 2023 and June 2024, respectively. In order to continue product development while maintaining security measures and browser compatibility, it is necessary to upgrade to the next version by the end of life of these frameworks. Migration of existing services to Vue3 and Nuxt3 is underway.
After the migration, we would like to take on new challenges, such as standardizing the Vue technology stack within various services and incorporating other technologies such as React by utilizing Mercari Group’s technical assets.
In addition, we will work on several other cross-functional projects in the future, such as WebView optimization and transition to a new architecture. We hope to find opportunities to introduce the ways we are proceeding with those projects and the technical insights gained in the projects individually in the future.
The Merpay Enabling Client Team aims for Zero Legacy & Group Optimized Architecture while maintaining discipline in the Fintech domain and working with the Mercari Mobile & Web Architect Team.
We hope this will be helpful to those who are leading similar teams that support overall development by solving cross-functional technical issues and improving productivity.
Tomorrow’s article will be by @kenmaz from the same team on "Redesigning iOS app navigation with modality in mind".
Stay tuned !