Position: Middle Java Developer в українську телекомунікаційну компанію
Company: MIRA top recruiting
Experience required: 2y

You will join the in-house development team, whose main responsibility is building Kyivstar's new products. The role has all the advantages of working in a product team - versatile projects, plenty of independence, chance to influence the direction of the development, and opportunity to grow with the role.

We offer: 
- A competitive salary (salary is discussed in the net);
- Only official employment;
- Annual salary review;
- Annual bonus: 20% of annual income, usually paid in March;
- Paid sick leave and vacation;
- 24 calendar days of vacation annually;
- Financial aid in different life situations; 
- Possibility to work remotely at regular intervals;
- Flexible working hours;
- Medical and life insurance, special prices for car insurance; 
- Free mobile for you and 3 friends/relatives;
- Great possibilities for professional development and career growth; 
- Friendly & Collaborative Environment.  

Required skills:
-Spring: Core, MVC, Security, Data, Boot (3+ year);
-Microservices architecture understanding + understanding of Event Sourcing, CQRS and DDD;
-Restful services (REST) dev experience (2+ year);
-Persistence frameworks: Hibernate, JPA (2+ year);
-Experience in branch-based workflow (git);
-Application servers: Tomcat;
-Messaging: ActiveMQ / JMS;
-Thorough understanding of RDBS: MySQL, PostgreSQL, Oracle and nonRDBMS like Cassandra;
-Unit testing with JUnit and Mockito
-Experience with Docker containers/Kubernetes in production (1+ year);
-Experience with continuous integration as is (principles, instruments).

As a plus: 
-Knowledge of highload; 
-Strong understanding | usage of SOLID principles and software design patterns;
-Knowledge / understanding of Python, Perl.

Responsibilities:
-Collaborate with Product Owner and Head of Technology in real and interesting product tasks (support 20% and development 80%);
-Managing intra/extra development team, team development & solving team’s problems;
-Selection and implementation of the necessary tools, technologies, and techniques;
-Designing and implementing architecture of an application;
-Code review and code quality control over formed standards of development;
-Writing efficient code if needed.