Senior Backend Software Engineer (Java) - SnappPay

Job description

About SnappPay

SnappPay is the financial arm of the Snapp Group, focused on financial products. We are leveraging Financial Technologies to provide our users with better and smarter solutions for Payment, Credit, Investment, Insurance, and their other financial needs.
Supporting Snapp Group’s mission of enhancing Iranian people's quality of life through Internet services, SnappPay’s mission is to bring financial inclusion to all Iranian.
This is just the beginning of Fintech disruption ...


Responsibilities

  • Fintech venture in order to improve its services and needs someone who can help the team along the way

  • Develop and design the architecture of Snapp Fintech services

  • Help team to maintain current projects

  • Develop and maintain Snapp fintech services

  • Support all product line features for all services

Requirements

  • Subtle knowledge of software architecture.

  • Strong knowledge of OOP and SOLID principles.

  • Basic understanding of OOP design patterns.

  • Strong problem-solving abilities.

  • Deep knowledge of Java(11+) programming language.

  • Advanced knowledge of common Java technologies such as Spring(and its ecosystem), Reactor is preferred.

  • Subtle knowledge of designing and using relational and Non-relational databases including MySql, PostgreSQL, Redis, MongoDB.

  • Having experience in Microservice and Message brokers like Rabbit MQ.

  • Subtle knowledge of Linux.

  • Advanced knowledge of Git version controls.

  • Having experience in CI/CD processes and test-driven development.

  • The tendency in writing clean code and following coding standards.

  • Having experience in working with Docker, Kubernetes, and deploying projects to cloud environments.

  • Being interested and hard-working in learning new technologies and coming up with

    innovative solutions.

  • Having experience in monitoring tools.

  • Having experience in Test Driven Development.