Senior Software Engineer (Java) - SnappBox

Job description

About SnappBox

Snappbox is a disruptive on-demand urban delivery platform in Iran, connecting any business with the largest fleet of delivery men in the country
Only a few companies have right now access to high-quality and low-cost last-mile delivery. At the same time, many bikers would like to work more but can’t find customers
We want to change this forever, through smart technologies and a new standard of operations
We are building the future, join us


Responsibilities:

  • Develop and maintain Snapp box backend services
  • Support all product line features for all services

Requirements

Required Skills:

  • 2+ years of hands-on experience in a similar role.
  • Subtle knowledge of software architecture.

  • Strong knowledge of OOP and SOLID principles.

  • Basic understanding of OOP design patterns.

  • Strong problem-solving abilities.

  • Java programming language.

  • Bachelor’s degree in math, computer science, or other quantitative fields (or equivalent experience)



Preferred skills:


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

  • Subtle knowledge of designing and using relational and Non-relational databases including MySql, PostgreSQL, Redis, MongoDB
  • Experienced in Microservice and Message brokers like Rabbit MQ.
  • Subtle knowledge of Linux.
  • Advanced knowledge of Git version controls.
  • Experienced 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, deploying projects to cloud environments, and monitoring tools
  • Interested in learning new technologies and innovative solutions.
  • Experienced in monitoring tools.