Software Engineer, Backend/Foundation (PHP/MySQL) at Mercari () (allows remote)
Type: Full Time
Created: 2021-09-13 05:00:03
Mercari is a Japan-based company with the mission of “creating value in a global marketplace where anyone can buy & sell.” Having continuously worked toward this goal since our founding in 2013, we are now transforming from a startup into a global player. While this transformation brings its own specific set of challenges, we believe that solving them one after another will allow us to fully achieve our mission. Are you interested in working together to take on these exciting challenges?
Mercari’s culture has been central to the company since our founding, with the three core values of Go Bold, All for One, and Be a Pro. In addition, the “Trust & Openness” value was introduced to embody our culture of mutual trust, where information remains transparent and rules are kept to a minimum. Regardless of how big Mercari gets, our culture is essential to achieving our mission and will be promoted throughout our organization.
At Mercari, we have been making changes in order to implement a microservice architecture on the backend of our app. However, some of our core systems (for example, the Item Transaction feature) are still running as part of the PHP monolithic application that has supported our growth so far. Our team is responsible for developing and maintaining these core systems. Given that the systems are complex and have a long history at Mercari, agile development remains a challenge for us. To solve this, we have to ensure that our core systems are loosely coupled in order for us to both augment these systems and contribute to our business growth going forward.
The Mercari Engineering Division has defined this new direction as building a "Robust Foundation for Speed." In order to achieve our company mission under this new direction, rather than migrating to microservices, we have taken on a more essential and worthwhile challenge: modularizing. Specific work responsibilities for this position include the following:
Developing and maintaining core features (PHP or Go, etc. as needed)
Designing loosely coupled/modular systems
Working with PMs on a series of development tasks (plan, design, implementation, QA, release, etc.)
Investigating inquiries from customer support or other development teams
Conducting system operation tasks, including responding to alerts while on call
Besides your software engineering skills, in this position, you will be able to utilize comprehensive problem-solving skills. You will need to approach these problems by setting and testing hypotheses, and you will need a lot of curiosity and attention to detail in order to tackle core systems that run a huge number of item transactions everyday. These are important systems that handle user assets, so it’s important to go beyond our team’s domain to understand the features’ end-to-end behavior and how they relate to other features. Some features, however, can be hard to fully understand simply by reading the code because they are too complex or old. This will require that you embrace some level of uncertainty and strategically set and test hypotheses to check them. Additionally, you will need to always keep your goals in mind and try to find solutions thinking outside the box.
Shared belief in Mercari’s mission and values
Experience developing and operating systems for large-scale products, selecting technologies and improving their codebase
Experience in API development using programming languages such as Go, PHP, or Java
Experience in designing and developing with databases (MySQL or similar RDBMS)
Ability to design and develop products while considering performance and scalability
Extensive knowledge of object-oriented software development, networks, memory management, and software testing
Good communication skills to collaborate with stakeholders and teammates on product development
Domain knowledge in e-commerce, order management, payments, shipping and delivery, etc.
Experience with project management or team leadership
Experience with Scrum
Experience developing and operating systems using microservice architecture
Knowledge of and experience with databases (RDBMS/NoSQL), networks, Linux, monitoring systems, logging, and SLO/SLA
Experience with software development in the cloud (GCP, AWS or Azure)
Experience contributing to an open-source project
Fulfills either of the following:
a. English: Basic (CEFR - A2) preferred / Japanese: Proficient (CEFR - C1)
b. English: Proficient (CEFR - C1) / Japanese: Basic (CEFR - A2) preferred
*For details about CEFR, see here.
Probationary period: First 3 months after joining the company. (During this period your contract conditions will be the same as that of a permanent employee.)
Smoking is prohibited within our offices
Mercari has introduced a work style policy called “Your Choice.” Each member is free to choose whether they want to work in the office or work fully remote. *Exceptions made for certain kinds of work.
Scheduled working hours: 10 AM – 7 PM
Currently, due to COVID-19 pandemic, we have introduced a full-flex system without core time to increase the choice of working hours and allow for more flexible working styles. (*does not apply to all positions)
Two days off per week (as well as national holidays, New Year's break, etc.)
Paid leave, congratulatory and bereavement leave, relax days, sick leave
Annual salary paid in 12 monthly installments (including fixed overtime allowance)
Based on skills, experience, and abilities
Reviewed twice a year
Complete health and social insurance
Support systems, including those that benefit employee family members
Language learning support
Translation/interpretation support*See this page for details.