The Company - Soramitsu is a blockchain technology company based in Japan. We are focusing on products for financial markets based on the Hyperledger Iroha blockchain platform. Two main product streams are digital asset management solutions including innovative payment solutions and a digital identity platform that supports transparent and secure exchange of information according to the financial KYC requirements. The company was established in 2016 and currently employs more than 50 people in Japan, Russia, USA and Cambodia.
The Role – We are looking for a Senior Android Developer that has experience with critical production systems (i.e. payment systems, B2B systems, Telco or similar systems), experienced in Android Platform (knowledge of both iOS and Android will be highly appreciated). The responsibility would be to design, implement and support software production solutions that will be used by our clients, write tests for the system and guarantee high quality of functional and nonfunctional characteristics of produced code, perform code review for other developers, take part into making architectural decisions, transfer knowledge to other team members and mentor junior developers. The candidate will also be responsible for interviewing people who will perform mobile development related tasks and work in the development team. The candidate will also need to select and integrate frameworks and libraries which will be the part of software systems and to prove his/her choice. As a senior developer, the candidate should understand the business goals of the system, plan his/her work upfront, give correct estimations to each task and able to foresee possible problems and eliminate them before they appear.
- Design, implement and support mobile applications.
- Write tests which will cover the major amount of functionality and non-functional requirements.
- Perform code review for other mobile developers.
- Participate in architecture meetings and take part in making architecture decisions.
- Provide knowledge transfer inside the company (document important parts of the system, provide workshops or lectures inside the company).
- Provide mentorship for junior developers and interns.
- Analyze requirements and select technologies which will speed up implementation keeping quality on the needed level.
- Provide estimations for all related tasks.
- Perform issue- and bug-fixing.
Needed Education And Experience
- A bachelor’s degree or higher.
- 5+ years of experience in Java and/or Kotlin languages.
- 2+ years of pertinent experience at the similar senior position.
- Experience in blockchain-related projects will be appreciated.
- Knowledge of software engineering processes.
- Experience in designing software solutions.
- Experience with Google Play Approval & Distribution Process.
- Participation as a key role engineer in at least one successful project.
Required Technical Competencies And Qualifications
- Excellent analytical and problem-solving skills.
- Good understanding of how Android mobile platform works.
- Deep knowledge of Java/ Kotlin languages along with Android SDK, including using main components, networking, animations and data transferring formats.
- Knowledge of dependency injection frameworks, view binding libraries and reactive programming will be a plus.
- Experience building mobile UI with Material Design approach and using animations.
- Proficient in designing mobile applications with design patterns (Viper, MVC, MVVM, MVP, etc.), application of SOLID design principles, familiarity with corresponding frameworks and libraries (Moxy, Cicerone).
- Good understanding of building tools for the Android platform.
- High level of Git usage experience, along with related workflows.
- Knowledge of SQL/NoSQL data storage approaches and database design.
- Good understanding of networking principles and related design.
- Experience with multi-threaded, asynchronous code.
- Experience with code generation tools.
- Skilled at writing tests (test-driven approach is preferred), experience in UI testing.
Required Soft Skills
- Impeccable communication, presentation and organizational skills.
- Significant attention to details.
- Maintain a positive attitude while giving and receiving constructive criticism to make improvements and take appropriate corrective actions.
- Honesty and ethic.
- Be open to changes (positive or negative) and to considerable variety in the workplace.
- Willingness to take on responsibilities and challenges.
- Good English.
- Flexible 40-hour work week.
- Permanent, full-time position.
- The international team of professionals.
- Possibility to work from offices around the globe.
- Possibility to visit global meetups and conferences for education and/or for giving a speech.
- An absence of a strict dress code.
- Relaxed work environment.