Kotlin разработчик Middle
Ставка: 1560, с учетом НДС
Локация: РФ, РБ
Гражданство: РФ, РБ
Длительность проекта: до 31.12.2026
❗️ВАЖНО: При направке резюме обязательно указывать ФИО и дату рождения для проверки специалиста по внутренней базе клиента. Также отражать, как скоро кандидат готов стартовать.
Разница во времени с Мск по локации специалиста не более +/- 2 часа.❗️
Обязательные требования
- Уверенное владение Kotlin, включая асинхронную разработку (корутины, suspend-функции);
- Опыт коммерческой разработки на Spring Boot или Ktor;
- Работа с JSON-сериализацией через Jackson или kotlinx.serialization;
- Базовые знания Java для поддержки легаси-кода;
- Навыки проектирования RESTful-сервисов в соответствии с общепринятыми конвенциями;
- Практический опыт работы со Swagger/OpenAPI для документирования контрактов;
- Глубокое понимание HTTP(S), семантики кодов ответов. Знание HATEOAS будет преимуществом;
- Грамотная работа с DTO-объектами и организация валидации данных (Jakarta Validation, аннотация @Valid);
- Проектирование схем и написание сложных SQL-запросов для PostgreSQL, оптимизация производительности через индексы;
- Опыт работы с NoSQL-хранилищами (в частности, MongoDB);
- Применение JPA/Hibernate с пониманием проблемы N+1 запросов и способов её решения;
- Организация кеширования с помощью Redis (включая использование @Cacheable при разработке на Spring);
- Написание модульных и интеграционных тестов с использованием JUnit 5, Kotest и Mockk;
- Использование Testcontainers для поднятия реальных зависимостей (например, баз данных) в тестовом окружении;
- Контейнеризация приложений, сборка Docker-образов и написание базовых Dockerfile;
- Настройка пайплайнов сборки и доставки (GitLab CI или GitHub Actions).
Задачи на проекте
- Разработка/ревью/поддержка кодовой базы.
Этапы отбора
1. Интервью с рекрутером
2. Техническое интервью (2 ч)
3. Менеджерский этап (1 ч).
Техническое интервью:
1. SDLC – понимание производственного цикла разработки программного обеспечения (20 минут). На каких проектах работал, какие рол занимал, понимает ли, как действуют и взаимодействуют разные роли
2. System Design – проходит не в рамках классического System Design, а уже есть какая-то архитектура, есть функциональные/нефункциональные требования, какие-то ограничения. Нужно сделать так, чтобы эти ограничения выполнялись в рамках этой архитектуры (60 минут)
3. Кодревью – если эта вакансия на котлин, кодревью всё равно будет даваться на джаве, потому что любой котлинист должен читать джаву. Готовы рассматривать ребят без опыта котлин на вакансию котлин, потому что джава на первом месте в данном случае. Где исключительно котлин нужен – в Заявке будет отдельно это отмечено (30-40 минут).
При этом некоторые собеседующие проводят кодревью, некоторые дают лайвкодинг (но это не алгоритмическая секция, очень редко могут попадаться очень простые задачки на алгоритмы, но обычно требуется сделать какую-то базовую задачу: переписать пару классов, реализовать пару контролеров, например)
Заказчик - крупный ритейлер.
Откликнуться на запрос: @okabirorin
По вопросам партнерского сотрудничества: @ju_vetta
Post #6888
200