Position: Java developer for a digital banking product
Company: Freelance
Experience required: 3y
English level: upper

The company is now experiencing a period of growth and we urgently require developers to join our engineering team. The developer(s) will own certain parts of the core platform but has the opportunity to work across the platform. It's an amazing opportunity to get hands-on with cutting-edge software development and delivery for a green-field project.

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 
●	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