Middle Backend Developer (Kotlin/Java)

Middle Backend Developer (Kotlin/Java)

Описание вакансии

Ищем опытного Backend разработчика. На старте мы предлагаем гибкий формат начала работы - от 4 часов в день, чтобы у вас была возможность комфортно погрузиться в проект и познакомиться с его архитектурой, процессами и командой.

Для эффективного взаимодействия с командой важно, чтобы рабочее время приходилось на интервал с 09:00 до 18:00.

Проект активно развивается, появляются новые сервисы и направления разработки, поэтому мы рассчитываем на долгосрочное сотрудничество. По мере роста количества задач и успешной адаптации разработчика возможен переход на большую загрузку, вплоть до полной занятости.

Если вы ищете проект, в котором можно начать с частичной занятости и со временем стать полноценной частью команды, этот формат подойдет идеально.

О ПРОЕКТЕ

Мы разрабатываем крупную enterprise-платформу с архитектурой White Label, которая позволяет создавать и масштабировать корпоративные информационные системы для различных заказчиков.

Основная идея платформы заключается в том, что существует единый backend, а для каждого клиента формируется собственный пользовательский интерфейс с индивидуальным дизайном, логикой отображения данных и бизнес-процессами. Благодаря этому один backend обслуживает несколько отдельных клиентских решений. Такой подход позволяет быстро адаптировать продукт под новых клиентов без существенных изменений в серверной части.

Проект построен на современной микросервисной архитектуре. Основная разработка ведется на Kotlin с использованием Spring Boot. В системе также присутствует Java-монолит, который постепенно декомпозируется и переносится в микросервисную архитектуру.

В экосистему проекта входят специализированные сервисы, отвечающие за хранение данных, управление динамическими формами, обработку пользовательских действий, построение списков и маршрутизацию запросов. Взаимодействие между сервисами реализовано через REST API.

Одной из ключевых особенностей платформы является механизм динамического управления интерфейсом. Backend хранит информацию о формах, полях, таблицах, кнопках, расположении элементов и пользовательских действиях. Благодаря этому новые бизнес-процессы могут создаваться через интерфейс продукта, либо напрямую через REST API.

Проект находится в стадии активного развития. Команда регулярно создает новые микросервисы, расширяет существующие API, оптимизирует производительность системы, развивает внутренние сервисы платформы и постепенно переносит функциональность из монолита в современную микросервисную архитектуру.

ЧЕМ ПРЕДСТОИТ ЗАНИМАТЬСЯ

В обязанности разработчика входит:

  • создание и поддержка микросервисов на Kotlin
  • развитие существующих сервисов
  • создание новых REST API
  • исправление ошибок
  • оптимизация существующего функционала
  • оптимизация запросов к базам данных
  • анализ существующей архитектуры
  • работа с PostgreSQL, MySQL, MongoDB и Redis
  • поддержка Java Monolith (небольшая часть задач)
  • написание Unit и Integration тестов
  • разработка новых бизнес-функций
  • работа с продуктом, помимо его разработки
  • создание и развитие внутренних сервисов платформы
  • работа с Docker и Docker Compose
  • создание Grafana Dashboard при необходимости
  • участие в реализации новых механизмов аутентификации
  • интеграции через OAuth 2.0
  • активное участие в улучшении архитектуры продукта (используется api gateway как паттерн, он уже реализован)
  • документирование API

ТЕХНОЛОГИЧЕСКИЙ СТЕК

Основной стек:

  • Kotlin
  • Java
  • Spring Boot (Spring Web, Data JPA, Mail, Security)
  • Hibernate / JPA
  • Lombok

  • REST API
  • WebSockets

  • JSON
  • PostgreSQL
  • MongoDB
  • Redis
  • MySQL (Monolith)
  • Docker/Docker Compose
  • Git/GitLab

Используемые технологии:

  • Microservices
  • API Gateway Pattern
  • JWT
  • Swagger / OpenAPI
  • Grafana
  • SSH/Bash/Shell
  • Liquibase
  • GitLab CI/CD
  • N8N (Low-code Automation Platform)

ЧТО ОЖИДАЕМ ОТ КАНДИДАТА

Обязательно:

  • коммерческий опыт разработки на Kotlin от 2-х лет
  • опыт коммерческой разработки на Java
  • английский - уровень, достаточный для общения с зарубежной командой, обсуждения технических вопросов и работы в международной среде
  • опыт разработки микросервисов
  • понимание ACID, SOLID, DRY, KISS

  • уверенное знание Spring Boot, Spring Security
  • опыт разработки REST API
  • опыт работы с PostgreSQL
  • опыт работы с MongoDB
  • понимание принципов работы Redis
  • опыт работы с Docker
  • опыт написания Unit и Integration тестов
  • опыт работы с Git
  • опыт интеграции со сторонними API

Будет преимуществом:

  • опыт реализации Social Login (по OAuth 2.0)
  • опыт работы с Grafana (создание дашбордов)
  • опыт настройки GitLab Pipelines (опыт миграции на GitLab CI/CD)
  • опыт работы с Flyway или Liquibase
  • понимание Hibernate (связи, каскадные операции, жизненный цикл entity, n+1 проблема в hibernate)
  • знание паттернов разработки (Decorator, Builder, Singleton);
  • понимание CAP-теоремы

  • опыт работы с N8N
  • опыт работы с SSH/bash/Shell
  • опыт поддержки legacy Java-приложений
  • опыт миграции монолитной архитектуры на микросервисную

  • опыт разработки собственных Java аннотаций

  • опыт работы с Loki/Prometheus/Tempo/Promtail

ЧТО ВАЖНО ДЛЯ УСПЕШНОЙ РАБОТЫ

Мы ищем не просто разработчика, а инженера, который:

  • не боится работать при ограниченной документации, самостоятельно разберется, как устроено внутреннее приложение; как взаимодействуют его компоненты; каким образом реализована бизнес-логика
  • умеет самостоятельно исследовать существующий код
  • способен быстро разобраться в сложной предметной области
  • умеет эффективно взаимодействовать с международной командой
  • готов предлагать технические решения и задавать вопросы
  • умеет работать как с современными микросервисами, так и при необходимости с legacy-кодом
Навыки
  • Java
  • REST API
  • MongoDB
  • Kotlin
  • Docker
  • Spring Framework
  • Git
  • Redis
  • PostgreSQL
  • API
Посмотреть контакты работодателя

Похожие вакансии

Бюро городской недвижимости

Fullstack-разработчик

Бюро городской недвижимости

  • Минск

  • Не указана

Рекомендуем

PHP-разработчик

Абрис-Бел

  • Минск

  • Не указана

Рекомендуем
  • Минск

  • до 100000 RUR

Рекомендуем
SeitUP
  • Минск

  • до 3000 USD

Хотите оставить вакансию?

Заполните форму и найдите сотрудника всего за несколько минут.
Оставить вакансию