Coming Together Across Borders to Achieve Success – Chatting with the developers behind Mercari US

f:id:mercarihr:20180411052128j:plain
Tsuyoshi Yoshioka (@tsuyogoro) and Yoichi Tagaya (@yoichitgy)

We shared an article the other day about the rebranding of the Mercari US app.

mercan.mercari.com

As Mercari’s US CEO John Lagerling mentioned in this article, the recent rebranding was the biggest update of the US app since its initial launch back in 2014.

This was by no means the first series of changes to the US app, however, as updates have been carried out continuously since the app was first launched. There are developers working on the US app in both our US and JP offices, and they have supported the development of the US product until now.

In this edition of Mercan, we’ll be talking with Mercari iOS engineering manager Yoichi Tagaya and Mercari Android engineer Tsuyoshi Yoshioka about the development of the US app thus far.

Yoichi Tagaya
Yoichi has been developing apps on the Apple Platform since Mac OS X was first released. He joined Mercari in January of 2017 after spending time at an overseas firm located in Japan, as a freelancer, and working at a startup. Yoichi initially helped develop the Mercari US iOS app, but from November 2017 became an engineering manager and switched his focus to strengthening Mercari’s development organization. Yoichi is the original author of Swinject, the de-facto standard for dependency injection with Swift.


Tsuyoshi Yoshioka
After graduating with his masters degree, Tsuyoshi joined Sony Ericsson Mobile Communications AB (currently Sony Mobile Communications Inc.) and began developing feature phones for international markets. He later went on to develop for both Symbian smartphones and the Xperia series as well. He joined Mercari in March of 2016 and has since been in charge of development for the Mercari US Android app. Tsuyoshi is one of the authors of ”An Introduction to Android App Design Patterns”.

“Mercari US originally used the same source code as the Japanese app”

-Can you start by telling us what the Mercari US app was like when it was first released?

Yoshioka: Mercari US was originally based on the Japanese version of the app. We were building two applications with the same source code, so the two apps looked exactly the same, apart from the fact that the US version was in English.

f:id:mercarihr:20180410150606j:plain
US Mercari app at time of launch

Tagaya: The team in charge of the US app at the time was the same one that was working on the Japanese version. We were doing some deployment out of our US office, but most of the product direction, planning, and implementation was being handled in Japan. As a result, we were regularly sending developers from our JP office to the US to carry out research and better understand the market they were designing for.

The process of separating the US and JP versions began in November 2016 when we started building a new app for the US. It took us about 3 months in total and we rewrote the code completely from scratch.

f:id:mercan:20180322102131j:plain
The Mercari US app following its redesign for the US market

-Why did you decide to separate the US and JP apps?

Tagaya: The PDCA cycle was expensive for us. We were sending developers to the US to conduct research and then having them decide on direction/implementation once they had returned. This system also made development of the US app by nature a very slow process. We decided to separate the app and base development out of the US office with the hope that this would increase development speed.

After this was decided, we hired a VP in the US and began making all major product decisions for the US app in the US.

f:id:mercarihr:20180410152213j:plain

Yoshioka: I think this was a pretty natural series of events. If developers are on the ground and living in a certain area, they are able to better understand the lifestyle of their users. This makes it easier for them to consider the customer’s needs and make quick decisions, increasing the value they can deliver to their customers.

Tagaya: Our base may be in the US, but we are still carrying out a fair amount of development here in Japan, so our JP and US teams are still working very closely throughout the development process.

How to communicate efficiently without slowing down the pace of development

Tagaya: I felt definite changes within the team when John Lagerling joined as our US CEO. I feel that the executives and managers started working together more closely following this change.

One challenge we have consistently faced through every stage of our development, however, is how to unite the various members working on the app in both Japan and the US.

f:id:mercan:20180322102108j:plain
The US Mercari app following its recent rebranding.

Yoshioka: As has been mentioned a number of times already, the US Mercari team has members in both Japan and the US working together to develop the app.

When the US app separated from the Japanese version and our development base shifted to the US, we faced a number of issues regarding the distance and time difference. The biggest challenge was keeping track of what everyone was working on, and when. We didn’t have enough information about what each member was doing on a day to day basis.

As a result, people were unsure who to contact when something went wrong, and so we decided to create a set period of time to communicate everyday in order to address this.

We hold all-hands’ meetings between the US and Japan on a recurring basis, and each team holds a sync meeting at least once a week. At these meetings, we share information about potential issues and try to solve problems in advance. To reduce lost time, we hold the meetings at the beginning of the week.

Tagaya: The US Mercari team communicates via Slack and video calls and, naturally, everyone uses English. As Tsuyoshi mentioned, however, there is a limit to the amount of communication that can be carried out with text and audio alone.

With just text and audio, it’s hard to grasp how much background info people have and to decide what sort of phrasing to use, etc. When there are gaps in people’s understanding, it can take longer to reach a consensus.

Yoshioka: We are still searching for the best way to deal with this situation, but we put a lot of focus on trying to understand each other. We are well aware that when communication is limited there will be problems, and so we do our best to communicate proactively and on a consistent basis.

f:id:mercarihr:20180411052133j:plain

Even when there is a misunderstanding, we try to ask ourselves “is this a communication issue?” and since adopting this new approach, we have seen improved communication between our two offices.

The importance of creating a scalable organization

ーTo ensure that Mercari US succeeds in its mission of “creating value in a global marketplace”, what sort of team are you aiming for?

Tagaya: One reason we continue to produce the US Mercari app in two regions is that, at our current stage of development, we still need to work together across borders if we want to succeed.

There are any number of successful tech companies on the world stage, and each of them possesses an engineering organization, technical caliber, and size that we can’t yet compete with. In order to face down these competitors on an equal footing, we need to build a scalable organization ourselves.

Yoshioka: We’ve already solved a lot of existing communication problems through the methods I mentioned above, but new problems will surely arise as we continue to grow. We need to remain flexible so that we can adapt our strategy depending on the particular project/issue at hand.

Tagaya: I think Mercari has put together all the right tools to compete on the world stage. Each developer feels a sense of ownership in regards to their work, and there’s a special fulfillment that comes from working with an international team. It’s a great time to be a member of Mercari, as we set out on this mission of building a scalable, global organization.

Senior JavaScript Engineer (US) / メルカリ

Senior Backend Software Engineer (US) / メルカリ