Backend Software Engineer (Java) - SnappPay

Job description

About SnappPay

SnappPay is the first and leading BNPL provider in Iran, started in 2020. We are leveraging Financial Technologies to reshape Iranian’s experience of consumer credit.
Supporting Snapp Group’s mission of enhancing Iranian people's quality of life through Internet services, SnappPay’s mission is to bring financial freedom to all Iranian by providing them with better, smarter and more efficient solutions for payment and shopping.


  • 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


  • 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.