Mercari CEO Yamada, CTO Namura, and Merpay CTO Sogawa envision a future of challenges [Part 2] #BoldChallenge
Ever since its inception, Mercari marched forward to achieve the mission; “Create value in a global marketplace where anyone can buy & sell,”. The Mercari marketplace has grown to the point where the service is used by more than 13 million monthly users, and it employs more than 1,800 members. But it took so many changes and so many challenges to drive the service and the organization through such rapid growth and expansion.
We would like to focus on the background of the decision making related to the engineering organization. How did the Mercari marketplace app, as well as the mobile payment service Merpay get to today? What sort of organizational and technological transitions had to be made? How were failures within each service overcome, and what kind of issues are being faced right now? We asked three head figures who have believed in the power of technology about the horizon they are steering this gigantic ship towards. In two parts, we will deliver to you what Representative Chairman & CEO Shintaro Yamada, Executive CTO Suguru Namura, and Merpay Executive Officer Keisuke Sogawa have answered to our questions.
Merpay exists as it is today thanks to Microservices and Go
-When did you actually begin JP’s Microservices Migration?
Shintaro: When we announced the roadmap (Mercari Technology Roadmap 2017-2020) that we just mentioned, we also decided to make a technological challenge. I think that led to the formation of the Microservices team. The development began in 2017, but we obviously wouldn’t be able to fully implement them from scratch, so we made use of a wrapping layer.
Suguru: We decided to use Gateway for that, and deeeet (Taichi Nakashima – Software Engineer) was the one who started coding it.
Shintaro: Which means; we began talking about how to build microservices during the summer of 2017, and announced the roadmap for it in November 2017. Then the general direction started to point towards migration to microservices, which I think was the decision that brought about the biggest changes.
Suguru: It was a necessary decision if we were to aim for 1,000 engineers. I don’t think the company would have gone for it if I hadn’t pushed.
Suguru Namura (Mercari Executive Officer & CTO)
Keisuke: It was thanks to the codebase that Mercari was able to grow so rapidly, but it also left us wondering about where to go from there. So I was very easily convinced when Suguru brought up microservices as a solution.
Shintaro: We were building the IDP in a similar way to microservices anyway. The idea was with us from before, but it was then that we acted on it. Microservices were the only way to create an organization where each team developing each feature would be able to formulate and realize their own ideas. This was why we made gradual steps towards that direction. The full-scale kickoff was in November 2017, I believe.
Suguru: There were already talks of separating the common parts even before I joined. Shintaro had actually consulted me about whether new services created by Souzoh (Mercari subsidiary, disbanded in July 2019) should be written in PHP or some other language before I joined. (laughs) I also talked to Tsuruoka (then Souzoh CTO) and other members. Tsuruoka said, “we are past the era of mulling over how to maintain servers. You have to look forward to future hirings instead” finally leading to the idea that Go would be the best, and that whoever joined Mercari specifically because they wanted to write Go, must be a good engineer. Tsuruoka made that decision.
Keisuke: Thanks to his argument, Merpay was able to choose Go when I joined. If he hadn’t made that decision back then, we wouldn’t have been able to build Merpay. Even if we did, it would have taken a tremendous amount of time.
Shintaro: That was a good call. It came up just as we were thinking about how we would have to change the PHP to something else, so we just leaned into it. Tsuruoka had no Go experience either back then. He learned it from scratch, basically. Even so, he would always say things would work out fine after a month or so. (Laughs)
Suguru: Again, we went very Bold with that one.
-Did the Microservice Migration go as planned?
Suguru: No, after I became CTO in April 2017, as I was away in US for a long time, I wasn’t able to lead it well.
-When was it that you came back?
Suguru: Around July 2018. During 2017’s MTC (Mercari Tech Conference), I believe we talked about the Microservice Migration, and creating mechanisms that allowed for failure, and how these two were vital elements on the path to 1,000. Because I was at the US side, I couldn’t push the project forward in Japan.
Shintaro: I remember when you came back, we talked about codefreeze.
Suguru: Yeah. Right before I returned to Japan, Hamada (Executive Director & CPO) was talking about how we had to put more weight on microservices. Around the time he joined, Futoshi (Futoshi Koresawa, Executive Officer & VP of Engineering) and I were also discussing how we could get our engineers in the mood. I remember we decided we just had to push them into it. We knew it would cause a lot of problems, but still we made the announcement to freeze the code. A big topic we had to handle was not just how to go about with the Microservices Migration, but also how to not have any problems related to codefreeze on the features that we were developing. We only had half a year. We made the announcement in May 2018.
-Back then, we were developing many new services and features. It must have been a big decision to do codefreeze, even from the business perspective. How did you make that executive decision, Shintaro?
Shintaro: Yuki took the lead on that one. It wasn’t really an executive decision. All new features were already decided to be built on Go and microservices. We hadn’t made the decision to migrate existing features. It was July 2018 when we made the decision to create new features in microservices.
Shintaro: Yuki said we would never finish it with the way things were, though. He said we should bite the bullet and freeze code, because it would help make development smoother and more productive. Of course, the disadvantage was that feature developments would be delayed. He still argued that we should sacrifice speed and make the call. Also that it would be better for us to gather more talent who are interested in this sort of a challenge. I think that’s how we made the decision.
-Ultimately, did the Mercari codefreeze go as planned?
Suguru: No, it was ultimately cancelled. It looked like it was going to delay Merpay’s release, which we could not afford. So, we basically froze the codefreeze. Until we released Merpay, that is. Specifically speaking, the codefreeze would still be valid, but for the parts that were relevant to Merpay we allowed for exceptions such as altering and fixing the code.
Shintaro: So Merpay caused some delays on the overall development. However, if we didn’t start up the business, we wouldn’t be able to anything with it, obviously. We went for it. As we went into a phase of paying back tech debt while starting up Merpay, we were trying to achieve growth in Mercari through Big Data and AI use. I think it’s going in the ideal direction. It feels like luck is on our side. We had to do a lot of ad-hoc development, as well as ad-hoc campaigns. But by using AI and data as how they should be used, we could build better, greater things. And if we improve our service, GMV (Gross Merchandise Value) will also go up.
Resolution and Determination: All for One, All for Releasing Merpay
-I’d like to ask about the technological relationship between Mercari and Merpay.
Suguru: Currently it feels like Mercari JP has a clear mid-long term strategy and is steadily moving towards that.
Shintaro: Tamosan (Executive Officer & Mercari Japan CEO Hirohisa Tamonoki) apparently also had experiences with something like microservices in his previous company, Pixiv. He said all other development was made easier after refactoring. Mercari also has great understanding of that as well.
-Merpay and Mercari are part of the same product, however, are there any different perspectives or conflicts that come up during development?
Shintaro: Rather than perspectives or focus points, we had discussions about business division. Once, there was a huge decision we had to make, which we internally called “All for One Collaboration”.
-This refers to the time when Mercari developers temporarily went over to the Merpay side to help until release, yes?
Shintaro: Yes. Even if we released Merpay by February 2019, if we didn’t implement eKYC (electronic Know Your Customer: user identity verification) or online payments, it wouldn’t be able to succeed as a business. In order to achieve this, we had to move many Mercari JP engineers temporarily over to Merpay. It took a lot of discussing to agree that we had to go that far to get all this done. We couldn’t afford to delay Merpay’s release, but it would mean the Microservices Migration of JP would be postponed.
Keisuke: I remember that time so vividly. I was joining the executive meetings remotely. Yuki (Mercari Exec CPO) and Naoki (Merpay Representative Director) had very heated discussions.
Shintaro: While JP had plans for JP, Merpay obviously had made plans for Merpay. We could not sacrifice one for the other. That is why Naoki proposed just making a temporary transfer of members. Meanwhile, Yuki was looking at longer term. Mercari microservices were close to a climax, which meant if we stopped the codefreeze and supported Merpay, we may lose engineers’ trust. Still, in the end, Tamosan made the call to send people over.
Shintaro Yamada (Representative Chairman & CEO)
Keisuke: Naoki is very thankful to JP for that. I think he wants more than anyone to pay back the favor by helping increase the GMV, no matter how small a contribution it may be.
Shintaro: Both points of view were correct. Yuki was right from the tech company perspective. The decision took us back. Many engineers must have felt bothered by that. It was a difficult call, but in the end we did manage to release Merpay. And it was Mercari who implemented eKYC first in the industry.
Suguru: It is a staple of the IT industry that there is a constant battle between development speed and engineering quality.
Merpay’s Golden Week Campaign was like threading a needle
Shintaro: Merpay tends to build up tech debt. We had to run a campaign after release, around April-May. It was a bitter decision.
Keisuke: We made the call to prioritize the release first. The difficult thing with running Merpay is the time limit.
Shintaro: That poses a clear difference with Mercari. For example, the point back time is mandated by the government, so we have to make sure our implementations make it in time, or we have to communicate with financial institutions, and always keep in mind security and compliance. Our stakeholders are very diverse.
-After this new mobile payment service, Merpay, was born into the Mercari Group, was there any change in the quality of decision making?
Shintaro: Well, we are more cautious and make stabler decisions. As Merpay is a payment service, there are guidelines provided by regulators, which actually helps us notice things that we have to take care of. Mercari has more than 13 million users now, which means we have social responsibilities. This pushes us to be more serious with whatever we are considering. Even if a certain thing will slow down development, if we have to do it, we will do it. I think the scale we have reached means that we have to fulfill our social responsibilities while we provide our services.
Keisuke: I had been talking about the purpose of the service, the “Why” of it all, with Shintaro and Naoki, even before I joined Mercari. It is very important to me that we are doing all of this for something. Our users can make use of deferred payment, and if they have balances they can use them to pay for things wherever they are. I wanted to provide these services like this, sequentially. We needed to do it this way. We controlled the process very well between January and June 2019 before release, which made it possible to keep releasing features. It was very difficult to run the Golden Week campaign too.
Keisuke Sogawa (Merpay Executive Director & CTO)
Shintaro: Building that campaign felt like threading a needle.
Keisuke: I agree. It was like lightning in a bottle too, I don’t think we could recreate it now. It was well-timed and we got lucky. Overcoming that campaign gave us the self-confidence to face what lay ahead. The impact of deferred payment also built up over time and helped us see the growth. The payment industry is basically a battle of titans. This competition pushed us to consider specifically what value we wanted to provide to our users, and obviously we need to provide that value in a safe and secure way. We wanted to make sure we would do everything that we could.
-So you realized that if we built a stable service without necessarily paying mind to our competitors, we would achieve growth anyway.
Keisuke: I wouldn’t say we aren’t paying mind to other companies. But you can’t solve everything by looking at your competitors. We have to put up a competition. We cannot afford to fail and lose. But we can still lose due to another company’s failure. It’s not just one company that has to win, it is the entire payment industry. Shintaro talks about our social responsibilities. I think we also have responsibilities towards the industry.
On the path to an innovative engineering organization where the decisions of the individual are celebrated
-I feel a big difference between the quality of decision making up to now, and the quality of decision making with Merpay. How do you think decision making will change for Mercari Group in the future?
Suguru: As I mentioned before, I want an engineering organization that has resources to make new things. It means every engineer should be able to make decisions and develop things individually. But sometimes, like is the case with Merpay, some decisions have to be made top-down. With Mercari though, we are moving toward an organization where bottom-up decisions are encouraged and celebrated.
Shintaro: We want to be able to innovate. A company where small teams can come up with good ideas and try them out immediately. Microdecisions. Too many proposals at once tend to make development stale. By making microdecisions, ideally we will be able make even Bolder decisions. I am sure it will lead to many failures, but it will bring many successes too, all of which will come together to make the service even better. I think that is the kind of environment we are striving to create now. And the kind of engineer that we are looking for is the kind of person that wants to create that together, and test their strengths in that environment. and be a part of the movement and product that Mercari is pushing, and strive in that environment.
Keisuke: Merpay work comes with many boundaries. Still, I want to have more and more of what’s good about Mercari in Merpay, and vice versa. That is why these apps share an infrastructure. We want these two to have positive impact on each other.
-After Mercari is listed on Mothers, you posted a message. You said in the future, products that don’t differ from others, not just by the idea behind them, but the technology they are built upon, wouldn’t be able to survive. What do you mean by “telling apart by technology”?
Shintaro: I meant a technological environment where we have data, we can use AI, and automatically conduct AB testing. I think it is possible by building up smaller technologies. Compared to last year, we have so many more things we can do now, and I mean that not just for building new features, but existing features as well. The challenge is to shed all that. We have to keep evolving, just like Google. They started off by being a search engine that is easier to use than any other, and next thing you know, they perfected the design, added Maps, Video, and so many other services, and now people think “you can’t go wrong with Google!”.
-So you want Mercari to have the kind of change where, it’s not like there is a huge update, but out of nowhere it looks so much better.
Shintaro: Yeah. Same as Amazon, and same as Uber. You open the app and you see a new UI. If it tests well, it stays that way, and if not it is not used. For example for us, Mercari can suggest specific types of clothing based on the climate data of that certain user’s address. (laughs) We want to try more of that.
Suguru: And if we use the Design System, all of that can be done by a single engineer. The ideal is to be able to create new UI without a PM or a designer.
How far do you think Mercari is from achieving the mission, Shintaro?
Shintaro: I… honestly don’t know. If I think about how much growth Mercari, Merpay and US has to achieve to realize the mission, I think we are very very far away. But, just looking at what we achieved this past year, we have rapidly gained talent from outside of Japan, we have grown US so much, and released Merpay. Those changes are clear to see. More than changes, this is progress. Slowly but surely, we are moving forward. I think that is what matters the most.
During his time studying at Waseda University, Shintaro launched Rakuten Auction as part of Rakuten, Inc. After graduating from university he established the company Unoh Inc., where he was responsible for launching various internet services such as ‘Eiga Seikatsu’ (a movie information site), ‘Photo Zou’ (a photo community site), and ‘Machitsuku!’ (a city-builder game). In 2010, Shintaro sold Unoh, Inc to the mobile games company Zynga. After leaving the company in 2012, he travelled around the world before returning to Japan and founding Mercari, Inc. in February 2013.
After joining Cyber Agent, Inc. in 2004, Namura worked on launching new services including Ameba Pigg, AWA, and AbemaTV. Joined Mercari, Inc. in July 2016. After leading development of the US version of Mercari, he took on the position of CTO in April 2017.
Keisuke Sogawa completed his studies at the Graduate School of Informatics at Kyoto University, and joined an IPA Mitou Youth company in 2011. He went on to launch WebPay at FluxFlex in Silicon Valley. As the Chief Technology Officer of WebPay, he developed the service infrastructure for credit card payment services. He also worked on the LINE Pay business as part of the LINE Group. He joined Mercari Group in June 2017.