Position: Expert Java Developer
Company: Unicsoft
Category: Java
Experience required: 5y
English level: upper

Project: TOP-5 sportswear company

Responsibilities:
- Lead development team
- Back-end development to meet customer’s business needs and implement components according to modern software development environment (cloud-based platforms, microservice architecture, etc.)
- Design and implement a set of various types of tests (unit, integration, functional, etc)
- Develop and review feature design documents and provide inputs/update to specifications for the solution
- Proactive position in architecture preparation, solution development, processes improvements

Requirements:
- Experience in software development for more than 10 years
- Excellent knowledge and experience in Java
- Practical commercial experience with: REST API development, Web application frameworks (e.g. Spring Boot Framework), Testing frameworks (e.g. JUnit, PowerMock, WiresMock, Serenity BDD), ORM (e.g. Hibernate), RDBMS (e.g PostgreSQL, Oracle), NoSQL (e.g. MongoDB, ElasticSearch, Cassandra), Search Engines (e.g. ElasticSearch, Apache Solr), Messaging systems (e.g. Apache Kafka, Active MQ, AWS SQS), Cloud solutions (AWS), Integration with 3rd party solutions, Orchestration and containerisation (Kubernetes), Docker
- Paradigm & Principles (OOP, SOLID, DDD, TDD, BDD)
- Algorithms
- Data structures
- Deployment patterns
- Security patterns, Reverse engineering resistance, Common attacks types (OWASP)
- Understanding of network interactions: protocols, authentication and authorization flows, conventions (e.g. REST, RPC)
- Creation software architecture and design of complex applications, platforms, microservices solutions with Event-Driven design and CQRS;
- Fluent English;