2019-9-27
Mercari CEO Yamada, CTO Namura, and Merpay CTO Sogawa look back at past decisions and their background [Part 1] #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.
In part one of the interview, we would like to focus on the background of the decisions made for the engineering organization. How did the Mercari marketplace app, as well as the mobile payment service Merpay get here? 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 reached out to three head figures who have believed in the power of technology, and we asked them 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 Officer & CTO Suguru Namura, and Merpay Executive Director & CTO Keisuke Sogawa have answered.
Looking back at Mercari’s turning point: “Microservices came about around the same time as US’ Double”
-First of all I’d like to ask about the technological crossroads Mercari has been through since its establishment in 2013, and the background of the decisions made during those times. Suguru, which of the decision-making crossroads is it that stands out the most to you?
Suguru: I joined in July 2016, so the biggest decision I faced was Mercari US’s Project Double. We went very Bold with that one. Until then, Mercari US had the same codebase as JP. This meant, if there was going to be a UI change for US, we had to make sure JP had it too, which meant development wasn’t exactly speedy. Any change happening over there impacted us over here. With Project Double, we completely separated the source code of US and JP, which meant the code for US was rewritten from scratch. Now isn’t that Go Bold?
Suguru Namura (Mercari Executive Officer & CTO)
-I believe it was December 2016 when the official decision for Double was made in an executive meeting and announced to the company, correct?
Suguru: Right. It happened five months after I joined in July. I think it was Tommy (Co-founder Tommy Tomishima) who made the final decision. I only heard of it after the conclusion was reached.
Shintaro: Rather than being a technical decision, Double was more about improving the process of decision-making itself. The decision about microservices was the bigger crossroads.
Suguru: True. We agreed that US should implement microservices before JP.
-When did you join the US development team, Suguru?
Suguru: I had had multiple business trips before, but I officially made the move over there in October 2016. As we were developing the US app, we started the microservice migration in parallel. We thought it would be impossible to hire local talent and onboard them to develop the app over there.
-What do you mean?
Suguru: The codebase we had was impossible to develop on. At least that’s what we thought. First of all, it was in Japanese. Also not only was the data huge, the PHP was a mix of old and new code. It was thanks to the that decision we made that Mercari managed to grow so rapidly. In a way, the tech debt we had to pay off was the price of that growth.
Keisuke Sogawa (Merpay Executive Director & CTO)
Suguru: We could have developed the app only by sending over Japanese developers on business trips, but we were hiring more and more local talent for engineering and we wanted them to be the majority. Even so, development on the source code as it was back then, that didn’t seem likely. We wouldn’t have been able to onboard anyone if we didn’t create the new US features separately from the existing code base, so the decision for Double was made with perfect timing. As we were going to make the app from scratch, we would be able to create a new architecture and cut down on unnecessary server-client communication. That’s why we made the call to implement microservices on the server side at the same time as we would build Double.
-So, Double and Microservices had essentially the same goal.
Suguru: I initially thought Double was mostly a business decision, but made use of that opportunity to build architecture at the US side as well.
Shintaro: New and independent US features were built as microservices. We didn’t intend to just change the way they looked, so we made the decision to use microservices when building new APIs. When we started Double we also implemented a wrapping layer for the existing features. It was all done at the same time, right?
Suguru: Yes, at the same time.
Shintaro: We first created the architecture, and then developed the new features so that they would go through that wrapper. We created an in-between layer for rebuilding the app, created microservices for new features, and legacy features were still PHP.
-Suguru, did you intend to be in charge of Mercari JP’s Microservice Migration back then as well?
Suguru: I did not even think about it. (laughs) I was only focused on making microservices for US.
Keisuke: Back then, Souzoh (A Mercari subsidiary; disbanded in July 2019) was developing a platform called IDP that was built around the concept of a common Mercari user ID. (A feature that would allow users to log in to various services with their Mercari ID)
-There were other services back then, such as Mercari Atte (closed in May 2018). Was the ID platform intended to broaden the horizon even further?
Suguru: We wanted to expand it laterally as well, such as with Mercari US and Merpay, which was launched later. I think Double triggered many large-scale technological changes and decision-making, and our technologies shifted in a major way. The next big decision was to fork the API.
Keisuke: That happened after I joined so there is some time in between.
Shintaro: In fact wasn’t that after the JP Microservice Migration?
Shintaro Yamada (Representative Chairman & CEO)
Keisuke: I remember when I joined Souzoh (A Mercari subsidiary; disbanded in July 2019) in June 2017, the decision for microservices was basically made. In fact I remember we talked about how it was the normal thing to do with Suguru, and then went forward with it.
The announcement of a 1,000 Engineer Organization, on the way to Global Hiring
Suguru: In 2017, Shintaro and I had a discussion about what direction to go with the engineering organization, and agreed that we had to make our vision clear. We talked about how Google had enough resources in their engineering organization where engineers had the power to change features on their own. We asked each other; how many engineers would Mercari need to become that kind of company? We concluded that with the speed Mercari has grown so far, in just 5 or 10 years we would have enough engineers.
-What number are we exactly talking about?
Suguru: In 2017, we talked about aiming for 1,000 engineers in 2020. We were both like “1,000…?” (laughs) That number came about after many discussions. We talked about what Mercari had to focus on, so how many frontend engineers we would need for that, or how many backend engineers we would need for this, and on and on. The result added up to 1,000. A world where 1,000 engineers are developing Mercari. I remember it felt extremely unlikely to achieve given how things were back then.
Shintaro: Right. Then we created the Mercari Technology Roadmap 2017-2020.
Suguru: Right! (laughs) The API back then would cause releases to get stacked. It would be impossible to work with it with ten times as many engineers. Client releases were delayed, it took a long time to make reviews, etc. Then we asked Engineering Manager @mootoh (Motohiro Takayama), “How many Android engineers can do concurrent development with the current architecture?”, and he said “Five”. We can’t achieve our vision with that. If we were not to take mid-long term actions to change the architecture to something that could handle a bigger organization, it would decrease our productivity tremendously if we were to have 1,000 engineers. That meant we had to migrate the architecture to microservices like at US, and push the development of the Design System and other components on the client side to distribute roles to individual units. Otherwise we wouldn’t be able to create an environment where every member can develop things as they like.
-I see! So many projects that are in action right now were actually drawn out more than two years ago. Looking back, what do you think?
Shintaro: How many engineers do we have in JP now?
Suguru: As of 2018, more than 350 (excluding Merpay).
Shintaro: The roadmap says 287 by 2018.
Suguru: We went beyond, then. In 2018, when we had the MTC (Mercari Tech Conference), the organization had grown not two, but three times its size compared to 2017. Maybe the growth was too vigorous.
-You also mentioned a 1,000-engineer organization. Is that what motivated you to cast a wider net that went beyond Japan? It was around June 2017 when we began hiring activities at IIT (Indian Institutes of Technology).
Shintaro: True. We wouldn’t be able to get 1,000 engineers only domestically. There aren’t many IT companies or software engineers in the country anyway, so we had to proactively look for overseas talent who could take us to where we wanted to go. And of course, we want to provide a service that anyone from any country can use, which meant the group of people building it had to be diverse. This, along with pushing to hire more newgrads and training them, formed the new direction of the Engineering organization.
-That is also a very Go Bold decision.
Shintaro: Of course, we initially ran into a lot of problems with this. We didn’t know how to conduct All Hands, how to communicate with Slack, how to provide translation and interpreting support, etc. We made many decisions, such as “Slack communication must be bilingual”, “official documents must include English”, and so on, which honestly was a difficult process but it was absolutely necessary. I believe the Engineering organization has the biggest impact in the company right now.
Suguru: True. 40% of our engineers are from outside of Japan. Initially, the development of the US app was also done over here in Japan, so I don’t think there was a negative reaction against using English in the company. I think that helped our globalization progress smoothly, relative to other companies.
Shintaro: Also, the entire company was in understanding of the fact that globalization was essential to achieving our mission, which also helped it go smoothly.
Suguru: We also decided to shift to English for comments and pull requests, to almost zero pushback. Generally our members were very positive and supportive.
Shintaro: I think I hear English spoken in the company more and more recently.
Suguru: We hold more and more meetings in English now, and we even tried out an English All-Hands.
Shintaro: But still I think there is some information gap going on, so we created a D&I (Diversity & Inclusion) policy. We hold internal events and seminars, and training sessions about accepting different opinions and perspectives. Of course, members from overseas can say it is not enough yet, but I think it is steadily progressing. Japanese members of the Product organization also have to use English in their work, which is another opportunity for growth.
-What about Merpay?
Keisuke: The product and users have high stickiness in Japan. That will continue. Even now we have opportunities to work with members from overseas. They come from many different regions. Members from China understand Merpay’s business so quickly, while members from other places have different ways of thinking about it. I think it’s important to share that background as well. In Merpay we aim to create the financial institution of the next era, and we need Japan regulations and partnerships to achieve that. We are thankful to those who understand that.
-That’s very comforting.
Keisuke: China is already experiencing such an ecosystem. They have the feel for it. They experienced what we haven’t yet, which makes it very comforting to have them with us. I am thankful that we have this opportunity to create this product together.
-
Shintaro Yamada
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.
-
Suguru Namura
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
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.
-
-