Position: Java Developer
Company: Professional Staff Recruitment
Experience required: 3y
English level: upper

Responsibilities:
Architect and implement applications as a part of the distributed team
Develop microservices using modern technologies and tools
Analyze, decompose, plan and estimate new features
Integrate with 3d parties (payments, ID verification, SMS / Email gateways, Push notifications etc)
Support the product during the whole lifecycle

Required experience:
Minimum 3+ years of development experience OR min 5+ years for the senior lead role
Familiarity with design principles for building reliable, self-healing services in public & private cloud using Java (Spring)
Ability to create clean and understandable code
Experience in developing a system with Postgres \ MySQL databases
Solid understanding of HTTP and RESTful design
Experience building Services utilizing message queues and busses, Redis
Experience with CI/CD systems e.g. Jenkins or TeamCity
Cloud experience (AWS \ Azure \ Google Cloud)
Experience with container orchestration systems Kubernetes
Familiarity with design principles for building reliable, self-healing services in public & private cloud
Strong understanding of OOP, design patterns, data structures, algorithms, and concurrency
Experience with Unit and Integration testing

Nice to have:
Experience working Financial sectors e.g. payments or banking and startup environment
Experience or knowledge of Terraform
Knowledge of Microservices architecture

Education:
MS in Computer Engineer/Science or related field, or
BS in Computer Engineer/Science plus relevant job-related experience