'How a Unicorn Startup in Japan Leveraged the Power of Microservices' softwarearchitecture startup
. I have 7+ years of experience in this company, but will leave soon to become a freelance. Today I’d like to write about my experience of Mercari US with my gratitude.
In this phase, it was unique that the API endpoints were designed specifically for iOS and Android screens. For example, please assume an endpoint GET /items/:id. In the general REST design, this endpoint would return an object like this: Anyways the tech stack was chosen from the startup perspective, carefully and consciously. Many engineers tend to be satisfied with just being capable of using the technology. But engineering skill is to achieve the goal, not the goal itself. I think the first engineering leaders were aware of it.Though our app was originally started in Japan, we desired to challenge the global market early. The US version was released very quickly, it was only 1 year after the JP version.
When we find the problems for the code, there are two approaches to solve, refactoring or rewriting. Refactoring is to fix the code without changing the behavior. It is a good approach if the problem is ‘how to write’. Also, we could get knowledge of microservice development by implementing such kinds of core object microservices. Though we had the policy to separate kubernetes namespaces by microservices, other than this, we didn’t have so many ideas for the code design, monitoring, networking, and so on. These microservices became good experiments to think of our practices.
Whatever, my point is we’ll have to get along with the previous PHP monolith for a long time. We have to admit that the things written in monolith are correct to some extent. At least it is NOT legacy in my definition, because there are maintainers. As long as the development is active, it is not legacy.