Position: Java Developer
Company: lifecell Ukraine
Category: Java
Experience: 5y
English level: intermediate

Розробка програмних продуктів, оцінка новітніх технологій та покращення існуючих.
 
**Вимоги:**
•	Освіта — вища технічна, математична або фізико-математична.
•	Стаж роботи: Більше 5х років у галузі програмного забезпечення з використанням Java.
•	Володіння мовами: Українська — вільно. Англійська — вище середнього.
•	Знання і розуміння патернів розробки і досвід їх застосування в реальних системах.
•	Знання ORM та досвід роботи з ними (Hibernate або EclipseLink або MyBatis).
•	Хороші знання та вміння працювати з системами контролю версій (Git).
•	Досвід інтеграції сервісів / проектів і дизайн рішень АПІ.
•	Досвід роботи з БД Oracle, PostgreSQL or MySQL.
•	Розуміння мережевих та Інтернет технологій.
•	Знання та використання UML, досвід управління вимогами.
•	Досвід командної роботи, хороші навики комунікації, здатність до навчання, вміння пріоритезувати, координувати і досягати результати в поставлені строки.
 
**Технології:**
•	Java, JEE, Microservices (5 років).
•	Spring, Spring boot, Spring Security, Spring Data, kafka, Hibernate 5(2-3 роки).
•	Jax-ws, jax-rs, xml
•	SQL, моделювання/проектування даних
•	Postgresql, Oracle(2 роки)
•	GIT, Gradle.
 
**Буде плюсом:**
•	Знання телеком домену, досвід координації розробки програмного забезпечення; досвід координації роботи команд.
•	Розуміння роботи UNIX/Linux.
•	Досвід роботи з Spring WebFlux + Reactive.
•	Досвід роботи з apache CAMEL.
•	Досвід роботи з Hazelcast.
•	Базові знання JS, HTML, CSS, Angular.
•	Реалізовані проекти від розробки архітектури рішення та бази даних до імплементацій
 
**Обов’язки:**
•	Визначення архітектури новітніх/поточних програмних рішень.
•	Проектування бази даних.
•	Пошук та оцінка новітніх технологій в підзвітній галузі. З подальшою імплементацією
•	Дизайн та розробка високоефективних, надійних та масштабованих програмних рішень.
•	Написання чистого, ефективного коду та тестів.
•	Аналіз відповідності специфікації та результату розробки.
•	Підготовка релізів програмних компонентів та систем.
•	Формування бази знань програмного продукту.
•	Передача знань іншим членам команди.
•	Інеграція проектів з іншими проектами Компанії.