Our goal is to create an organization where all members can learn and grow from each other.
A Nurturing Organization
The type of engineering organization that Mercari needs to have is not one where talented people gather, but one that creates them. By talented people, we mean people who can turn their ideas into a reality, sharpening their sensitivity and decision-making skills by taking on numerous challenges. This will allow us to provide our users with the best experience, and ultimately lead to the kind of society that Mercari envisions.
Mercari’s ideal engineering organization is a coordinated and flexible organization where each individual can take ownership of their work and make their own decisions. In order to provide the best user experience, everyone should be able to test out their own ideas. This is what we call "microdecisions." We believe that the more attempts you make, the more accurate your strategies will become, and the more growth you’ll see as an engineer.
We aim to build a coordinated organization, where everyone can make decisions to improve the structure as a whole, even as our organization grows bigger. Decisions are made and implemented in various places without worrying about the organization’s hierarchical structure, and we use data to evaluate the results. We want to build an environment where everyone can continuously make decisions and take on challenges, without being afraid to fail.
Everyone is a Software Engineer
We remove the barriers that divide people involved in software development, and call all of them software engineers. Software engineers should use the most appropriate technology to create the features, so we don’t limit people’s roles to a particular technology. This does not mean that we don’t believe in specialization, but we think that someone’s role should not be limited by their job title. The role of Mercari’s software engineers is to use every tool they can to make their ideas come true.
Blameless & Mechanism
In order for engineers to be able to take on bold challenges, we need a culture that celebrates not only success, but also failure. We can’t have a culture that puts the blame on individuals if we want to take on challenges as an organization. At Mercari, we believe that problems are essentially the responsibility of our organization’s mechanisms, not of our members. Similarly, true solutions should be found in mechanisms. Building mechanisms is the best way for us to solve issues, and they set the ground for us to take on bold challenges.
Diversity & Inclusion
Mercari aims to create value in a global marketplace, and we place a strong emphasis on diversity in our organization and team members. It’s not an easy task for members of all different backgrounds, including languages, cultures, and values, to come together as one, but we believe that treating these differences as strengths helps us create a strong engineering organization ready to compete on a global scale.
Mercari Engineering Principles
The Mercari Group created the Mercari Engineering Principles to explain the basic ideas behind the organization.
Strive For Alignment
Work as a team to find consensus and a clear common understanding that best aligns with our mission and values
Everyone should participate in discussions and, when faced with a conflict of opinions or understanding, openly discuss based on relevant data, evidence, and objective facts, while respecting everyone’s opinions. Take opposing views into consideration, and once a decision is made, everyone should commit to do everything they can to make it happen. Also, anyone can reconsider their opinion when confronted with new information or evidence.
Share To Empower
Create opportunities for everyone to grow
Delegate work to others instead of just focusing on your own growth and creating opportunities for yourself. When doing so, provide them with the information, mentorship, and guidance needed to contribute to solving technical issues or any other challenges. Proactively share your knowledge and insights, delegating so that others can be more confident and make their own decisions. Collaborating and sharing our knowledge provides equal opportunities for everyone to improve their skills and perform at their best.
Foster Trust & Inclusion
Promote an inclusive environment based on mutual trust that accepts everyone for who they are
There are many people with diverse backgrounds working at Mercari, and mutual respect is essential. When problems arise, we must share responsibility and act in good faith guided by common principles. Honest feedback is important in the engineering organization, but no one should give feedback that is just harsh and doesn’t lead to growth. Promote a culture where failure is not blamed on people and an environment where everyone can go bold without being afraid to fail. Listen to others and give honest feedback in a thoughtful way so that everyone feels they are a part of the organization and the team.
Seek Continuous Improvement
Always be willing to learn and improve
Give constructive feedback to encourage others to improve, and when doing so, try to communicate in a positive and respectful way. If you receive feedback, use it as advice for your personal growth. Be eager to learn regardless of your role and experience, and take on new challenges to expand your areas of expertise. Occasionally look at things in a new and creative way in order to find things that can be improved and provide better value to our users.
Take Action & Responsibility
Proactively take ownership and try to find solutions
If you find unexpected delays or something that is unclear, don’t hesitate to clarify it, overcome the obstacle, and move forward. Always look for opportunities to bring value to the company whenever possible, even if it’s not part of your role or responsibilities. Also, focus on practical actions rather than on theoretical principles. That way, we can execute and evaluate until we find what is best. Avoid unnecessary research and long discussions and focus on workable solutions.
Every successful business needs a strategy
Always clarify your priorities in order to bring value to as many stakeholders as possible with minimal cost and effort. For this, making decisions based on data and solid evidence is important to maximize your chances of success. Speed and timing also play an important part in any strategy, so reuse your resources to save time and effort. Also, occasionally consider applying previous solutions. You can customize them if you find evidence that they won’t meet your current needs.
Focus On The Customer
We are a customer-focused company
Every person and organization that our actions, both inside and outside the company, have an impact on is a customer and a stakeholder, not just our product’s end users. In many cases we have to adapt to our customers’ needs. When doing so, seek solutions to bring value to your team and our customers, rather than focusing on short-term satisfaction levels. The most important thing is to provide long-term value to our customers, therefore we must all clearly understand our management direction and develop a strategy identifying priorities from a broad perspective.
Go Bold, Fail Fast & Recover Faster
Try many times to succeed boldly and quickly
Evolving, innovating, and taking on challenges as a tech company come with some mistakes. Seeing failure as an opportunity to learn, and always being prepared for it, lets you quickly recover and move forward. Also, building trust among team members creates an environment where everyone can proactively take on challenges without being afraid to fail. Create a psychologically safe environment where everyone can take reasonable risks, share information, be honest and transparent, and make critical and objective decisions without being attacked personally.
Deliver With High Quality
Aim for the highest standard
As a tech company, we are constantly faced with some of the most difficult challenges in the industry. To solve these problems, we need to ensure the highest safety, reliability, predictability, and maintainability standards for our systems. We need to not only quickly solve issues in the production environment, but use our deep domain knowledge to solve root problems with a long-term perspective.
Expectations in each stage of an engineer’s career
Engineering Ladder was born out of the need to share the ideal Mercari engineer, and to build an organization that maximizes everyone’s strengths. It was essential that we share these ideas to build a strong culture and respect every member’s skills, personality, and diversity.
Based on Mercari Engineering Principles, Engineering Ladder clearly defines the expectations for a Mercari engineer depending on their level in their carreer. Expectations towards a junior engineer and a senior engineers obviously differ.
Engineering Ladder is used for evaluation, settings goals, and designing career paths, and serves as a guideline to let engineers know what they need to work on to reach the next level.
Engineering Ladder is not meant to be a checklist of things that one must fulfill completely, as each individual engineer possesses a unique set of skills. We realize that everybody has different strengths and weakenesses, and that everybody grows at a different pace.
We welcome the diversity in the engineers’ strengths and weaknesses. We believe this will help us to create a better product for our customers.
The Ladder has been made publicly available on GitHub