Senior Software Engineer, Android (Tokyo)
This job offer is expired
Mercari is in the process of strengthening our engineering organization as part of our efforts to become a world-class tech company.
In order to achieve our goal of creating an outstanding team of 1,000 engineers over the next 3 years, we are placing a heavy emphasis on hiring and training new members while also creating an environment that allows engineers to work to the best of their ability. To make this possible, we need highly skilled engineering managers to work with us.
With a strong team of engineering managers and engineers, we aim to become a tech company that can solve society’s problems using technology and work towards Mercari’s mission of creating value in a global marketplace where anyone can buy & sell.
Our Values (Go Bold, All for One, Be Professional)
The path to creating a leading global marketplace is not without challenges. In order to create new and innovative solutions, all members must take advantage of their unique skill sets and have a sense of responsibility and ownership for their work. We are looking for new members to join us in achieving this goal under our values: Go Bold, All for One, and Be Professional.
As a member of the Mobile team, you will work as an Android professional to promote Mercari’s business and maximize project output.
Mercari has been downloaded about 75 million times in Japan and has about 10.75 million monthly users. Mercari’s mobile team is currently working on a major re-architecture of the Android/iOS apps in order to create a structure where they can conduct further large-scale development while maintaining speed and security. The team is also working on various other projects, such as developing new features and improving the UX.
The mobile team consists of members from many different countries; we hope to unlock the potential of this diverse team in order to make even greater achievements.
Improving Mercari’s UI/UX
Improving quality with a focus on stability and performance
Continuous improvement of the codebase, including the major re-architecture
Handling updates for the Android app
Developing new services and linking them with other services
Experience developing native Android apps
Extensive knowledge in object-oriented software development, solid MVVM/MVP architecture, multithreading, networking and memory management.
Experience with continuous improvement of codebases and large-scale team development
Knowledge of standard Android libraries and frameworks
Ability to develop features while conducting unit tests using JUnit and Mockito
Software development experience with Kotlin at work
Ability to gather the team’s consensus and make decisions when selecting technology for large-scale development
Experience communicating with the business side to decide technical approaches to implement ideas
Experience background in any of the following is a plus: Product Design, UI/UX design, Backend/Fullstack engineering.
Experience managing a team of 3 or more members
Experience developing and operating native apps with large user bases
Experience independently planning, developing, and operating apps
Knowledge of performance optimization
Experience training junior members
Ability to communicate with development teams in English (written and verbal communication skills)
Our Ideal Candidate
Capable of taking on bold challenges and learning from mistakes
Capable of working independently and taking initiative to lead the team to success
Possesses a strong sense of responsibility and works hard to achieve their goals
Capable of communicating proactively and producing output in a highly global team
Languages and technologies we use
Software development: Java and Kotlin
Network transport: Protocol buffers
Build Environment: Gradle + OkBuck
Dat to day development: LeakCanary, Dagger, and okhttp
UI Testing: Espresso
Take-home skill test on Github (deadline: one week)
2 Technical Interviews on the same day (CS & Domain knowledge)
Interviews with Android or Mobile engineers/ Manager/ VPoE ( 2-3 rounds depending on scheduling)
*The process is subjected to changes and skill test may be skipped if there is enough information for proof.