> DOUUkrainian Processing Center
Backend Engineer
format:Hybridcompany:Product
javaspringrest-apiopenapipostgresqlsqlhibernateormjunitmockitodockermicroservicessolid
xmlkafkagitlab ci/cdgithub actionsmavengradleopensearchelasticsearchprometheusgrafanaoauth 2.0openid connectjwtkubernetes
> full description
Основні задачі:
- Розробляти, підтримувати та оптимізувати backend-сервіси на Java 17+ і Spring Boot.
- Проєктувати та реалізовувати RESTful API й інтеграції із зовнішніми системами.
- Працювати з PostgreSQL: проєктувати моделі даних, писати та оптимізувати SQL-запити.
- Розробляти асинхронні інтеграції та обробники повідомлень на базі Apache Kafka.
- Забезпечувати якість коду: писати unit-, integration- та API-тести, брати участь у code review.
- Аналізувати помилки, інциденти та проблеми продуктивності в production-середовищі.
- Брати участь у технічному плануванні, декомпозиції задач і розвитку архітектури сервісів.
- Підтримувати процеси збірки, тестування та доставки застосунків у межах CI/CD-процесів.
Обов’язкові вимоги:
- Від 3 років комерційного досвіду Java backend-розробки.
- Впевнене володіння Java 17+: Core Java, Collections, Stream API, Optional, Concurrency та основи роботи JVM.
- Практичний досвід розробки застосунків на Spring Boot.
- Досвід роботи зі Spring Framework: Spring MVC, Spring Data JPA, Spring Security, Spring Validation.
- Досвід проєктування та реалізації RESTful API; розуміння принципів REST, HTTP, OpenAPI/Swagger.
- Досвід інтеграції сервісів через HTTP/HTTPS, робота з JSON; XML — буде перевагою.
- Впевнена робота з PostgreSQL: SQL, індекси, транзакції, оптимізація запитів, міграції бази даних.
- Досвід використання JPA/Hibernate та розуміння особливостей ORM: lazy loading, N+1, транзакційність.
- Досвід написання unit- та integration-тестів із використанням JUnit, Mockito та Spring Test.
- Впевнена робота з Git, участь у code review.
- Досвід контейнеризації застосунків за допомогою Docker.
- Розуміння принципів SOLID, DRY, KISS, Clean Code та мікросервісної архітектури.
- Уміння самостійно декомпозувати задачі, оцінювати обсяг робіт і доводити їх до результату.
- Англійська мова — рівень B1 або вище.
Додаткові вимоги:
- Apache Kafka: producers, consumers, consumer groups, retries, обробка помилок.
- CI/CD у GitLab CI/CD та/або GitHub Actions.
- Maven та/або Gradle.
- Централізоване логування на базі OpenSearch або Elasticsearch.
- Моніторинг і спостережуваність за допомогою Prometheus та Grafana.
- Spring Cloud — залежно від потреб конкретного сервісу.
Буде перевагою
- Досвід роботи з високонавантаженими, розподіленими або мікросервісними системами.
- Розуміння принципів асинхронної взаємодії: ідемпотентність, retry-механізми, DLQ, гарантії доставки повідомлень.
- Досвід оптимізації продуктивності застосунків і SQL-запитів, аналізу production-інцидентів.
- Розуміння безпечної розробки: автентифікація, авторизація, захист REST API, робота із секретами.
- Досвід роботи з OAuth 2.0, OpenID Connect, JWT, Keycloak або аналогічними рішеннями.
- Досвід роботи в Agile-командах за Scrum або Kanban.
- Готовність до технічного менторства, участі в обговоренні архітектурних рішень і розвитку інженерних практик команди.
- Досвід роботи з хмарними платформами або Kubernetes.
Ми пропонуємо:
- Роботу в найбільшому процесінговому центрі України.
- Стабільний дохід, який переглядається щороку.
- Можливість працювати за гібридним форматом роботи або віддалено з інших регіонів України.
- 31 день оплачуваної щорічної відпустки на рік.
- Можливість навчання та професійного розвитку.
- Тімбілдінги та участь у соціальних проектах.