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 80 people from all over the world.
The Role: We are looking for a Java backend developer that has experience with critical production systems (i.e. payment systems, B2B systems, Telco or similar systems).
- Design, implement and support software system.
- Write tests which will cover major amount of functionality and non-functional requirements.
- Perform code review for other backend 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 needed level.
- Provide estimations for all related tasks.
- Perform issue- and bug-fixing.
Education And Experience
- A bachelor’s degree or higher;
- 3+ years of experience in Java (or other JVM-based) development.
- Experience in blockchain-related projects will be highly appreciated.
- Knowledge of software engineering process frameworks and software lifecycle management.
- Experience in designing software solutions.
Technical Competences And Qualifications
- Strong analytical and problem-solving skills.
- An excellent understanding of development and testing methodologies (test-driven approach is preferred), object-oriented programming best practices.
- Proficiency in architecture design of software systems with SOLID principles application.
- Deep knowledge of Java (or other JVM-based) language.
- Good experience of using building tools (Maven, Gradle).
- Good understanding of how JVM works.
- Experience with multi-threaded, asynchronous code.
- Good understanding of networking principles and related design (REST, gRPC etc.).
- Good understanding of database design and knowledge in SQL/NoSQL.
- High level of Git usage experience, along with related workflows.
Project technology stack
- Java 8/11, Kotlin (less used)
- Spring Core/Boot/Cloud/Data/Security/Mail
- Postgres, Liquibase
- Hyperledger Iroha
- Docker, compose, test containers, k8s, Helm
- Influx DB
- JUnit, Mockito, MockMvc
- AWS (S3, Metering Service)
Required Soft Skills
- Impeccable communication 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.
- 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.
- Quarter bonuses based on productivity.
- In case of relocation to Innopolis, Russia - help with settlement process.
- Relaxed work environment.