Inside the Mind of the Money Forward CTO(December, 2023)

Hello, this is Nakade, the CTO of Money Forward.

As the CTO, I would like to make public through the Developers Blog what I share quarterly within the company, that is, what I “feel and think about” usually, with partial modifications.

Technical Debt and Its Repayment

Since I became the CTO in December 2016 seven years ago, the first major decision I made was to resolve the situation in which all products were dependent on a single huge database. We had been a small venture company, so in order to launch new services rapidly, a decision had been made to share a huge database among the products rather than splitting the database.

However, as the services went on track, the decision would start to cause various problems. Every month, on the nation’s general payday, the database load rose, and unbelievable things happened frequently, such as all services slowing down, or all services going to a halt due to some manipulation by a single user.

This architecture, at some point, came to be called the “Oath of the Peach Garden architecture.” The name was taken from a famous scene in the Chinese literature Romance of the Three Kingdoms. Three heroes Liu Bei, Guan Yu, and Zhang Fei took an oath of becoming sworn brothers and swore to die on the same day despite having been born on different days. The name is an irony of the fact that our services, having been released at different times, went down simultaneously as if they had taken an oath to do so.

Resolving this problem was the first major decision I made after becoming the CTO, and I named such project “Break Away from the Peach Garden.”

There was major progress in the first few years of the project. Having detached huge data, it became rare for the services to slow down due to load. Furthermore, the whole system has been rebuilt as a microservice architecture, giving rise to important base technologies such as microservices for authentication/authorization or for fetching data.

And this year, we succeeded for the first time in removing direct dependency on the shared database from a service that had been constructed based on the premise of such a database from its development period. And that is not about just one product; services are emerging one after another that have succeeded in “breaking away from the Peach Garden.” Not all products have “broken away from the Peach Garden” yet, but we are planning to complete the process on most of our services within the next year.

That adds up to eight years. It took almost twice the time to repay the technical debt as it took (four and a half years) from the establishment of the company to accumulate the technical debt. It was technically difficult to keep modifying the basic architecture without affecting the users or affecting the development of new features on the services as much as possible, and it required collaboration with many development teams.

Nevertheless, I do not consider that the original decision that led to technical debt was a mistake. The fastest way to develop a service and deliver value to users was to share the data, and thanks to the decision, our business was able to grow.

One strength of Money Forward’s development organization is that it is able to continuously provide users with many new services. Under the hood are teams pursuing projects such as “Break Away from the Peach Garden.” Due to the contribution of these teams, the company is able to realize an environment in which developers can concentrate on the development of the services.

On In-Office Policy

At Money Forward, we have defined our new in-office policy. According to this, we basically come to the office two days per week (Three days per week is recommended). Let me share with you a little bit of what I have thought during the discussion on this topic.

I find it fun and like doing hackathons or development training camps or gathering everyone together in the office to create something. Last day, it was the AWS GameDay, and I felt enviable seeing many engineers gathered in the office getting excited. After all, many people gathering is in itself particularly fun. I like these kinds of festival-like atmosphere very much.

Even large-scale technology conferences that had temporarily been provided as online-only events have come to be held as a hybrid of online and offline. Technology conferences are, for the purpose for only listening to the contents of their sessions, enough to be held online, and that actually may even be convenient.

Nevertheless, the conferences are being held offline despite the enormous labor required, and that is because there is a special excitement around them. I believe the organizers decide their policy based on their thoughts like what kind of conference they want it to be or what kind of community they want to have.

Since I am a CTO, I think about our company. I need to decide its policy with passion: what kind of company I want it to become or what kind of space I want it to become. I want our company to become a place where everyone can work with more excitement. Not where people just pursue output and efficiency, but where all individuals get together and work enthusiastically toward the mission, that is what I want to let the company become.

In deciding on the in-office policy, I have also thought about that. The characteristic passion that emerges only when many people gather is important. I thought it difficult to realize both lessening our in-office frequency and creating an atmosphere in which we work with passion. It may not be thoroughly impossible. But its difficulty is surely higher.

By coming to the office, it is possible, for those engineers who concentrate on their work, that their work efficiency drops down. However, doesn’t focusing on that make it difficult to provide wonderful services in mid to long terms? I guess so because it is the passion of the service’s creators that is necessary to make a product that delivers impressions to its users.

Of course, coming to the office does not solve everything. Becoming a company in which we can work with passion requires various ingenuity. There are lots of moments when I feel the lack of power. Also, there were occasions when I could not firmly and carefully communicate the intent and the background.

However, I believe the decision regarding the change in our in-office policy was a better choice for our mid to long term success. From now on, I will continue thinking about what I can do to make the company be a place where everyone can work with more passion and continue providing the best services.

(Translated from the Japanese original)