Job Description
Senior Kotlin / KMP EngineerDesktop · Real-time · Ukrainian MilTech partner (GCF)
Наш партнер — український MilTech-стартап, що розробляє програмні рішення для перехоплення ворожих дронів. Місія — створювати технології, які захищають наше небо. Продукт — десктопний застосунок для наведення дронів-перехоплювачів: працює локально, в реальному часі, обробляє дані з радарів та інших сенсорів, стійкий до нестабільного/офлайн зв'язку.
Чому ця роль має місце зараз
Команда масштабується. Один з Senior Kotlin/KMP інженерів уже тримає значну частину складних архітектурних і real-time задач. Тепер, ми шукаємо другого сильного інженера-власника (не заступника і не Lead), який самостійно проєктує, реалізує і доводить до production складні ділянки продукту — і знімає залежність команди від однієї людини.
Технологічний стек
Kotlin Multiplatform, Compose Multiplatform, Decompose, Koin
Coroutines / Flow, структурована конкурентність
SQLDelight, Ktor
MAVLink
WorldWind — плюс, не вимога.
Що ви робитимете
Самостійно берете складну ділянку продукту (real-time потік, інтеграція, продуктивність або порівнянний за складністю архітектурний скоуп) від проблеми до production-релізу;
Приймаєте і документуєте архітектурні рішення (trade-offs, ADR де доречно);
Працюєте з даними реального часу: latency, reconnection, back-pressure, офлайн/retry-сценарії.
Розвиваєте UI на Compose Multiplatform і модульну архітектуру спільного коду;
За можливості та відповідно до security policy прагматично використовуєте AI/coding tools для прискорення роботи — з обов'язковою перевіркою та розумінням результату;
Працюєте в парі з іншим Senior-інженером команди: ділите скоуп, даєте і приймаєте рев'ю, без конкуренції за території.
Must-have
Сильний інженерний бекграунд і здатність самостійно занурюватись у складні предметні області — не лише знання Android API, фокус на Desktop;
Глибокий комерційний Kotlin: Coroutines/Flow, структурована конкурентність, cancellation — фундаментальне розуміння;
Production Kotlin Multiplatform досвід (production-реліз або серйозний, доведений PoC — точний поріг уточнюється, курси окремо не рахуються);
Production Compose for Desktop на Windows/Linux (або серйозний доведений PoC): білди/дистрибуція, Gradle targets, розуміння відмінностей desktop vs Android. macOS — плюс;
Архітектура/системний дизайн: модульність, спільний код, навігація/стан (Decompose або порівнянний підхід), Ktor/WebSockets, SQLDelight, явні trade-offs;
Ownership до production: самостійно приймає рішення, відповідає за наслідки, доводить фічу від нечіткої проблеми до релізу;
Продуктове мислення: розуміє кінцевого користувача, time-to-value, може здорово оскаржити "спеку" (читаємо-специфікацію)), якщо є простіше рішення з тим самим результатом;
Швидке навчання нового домену/стеку з власної ініціативи — темп ramp-up очікується високий;
Безпека/відповідальність/OPSEC: дисципліноване поводження з даними, логами, скріншотами; мінімум зайвого публічного розголошення.
Буде плюсом
Досвід з дронами на ArduPilot, MAVLink (heartbeat/sequence/message-rate, fail-safe, reconnect).
Досвід з радарними даними або даними інших сенсорів через стандартизовані протоколи.
Карти/GIS/геодані/трекінг; WorldWind — плюс, не вимога.
Досвід менторства, код-рев'ю, технічного ownership — це зона можливого зростання для цієї ролі, не стартова вимога.
Ми цінуємо
Відкритість і чесність у комунікації: «я не знаю, як це зробити» цінується вище за вдавану впевненість)
Ownership до кінця — доводить функціонал до готового стану і сам підіймає ризики.
Роботу в парі/командну роботу: ділиться контекстом, спокійно приймає рев'ю, не конкурує за території.
Прагматичне ставлення до AI-інструментів: прискорює роботу, перевіряє і розуміє результат, може захистити кожне важливе технічне рішення.
Темп і фокус на пріоритетах навіть за високої невизначеності.
Формат і умови
Full-time, віддалено, Україна (буде перевагою); синхронна робота в українських робочих годинах.
Робочий ноутбук від компанії.
Можливі періодичні офлайн-зустрічі/польові демо.
2–3 сінки/тиждень на ramp-up; buddy — інший Senior-інженер команди.
Контракт: ФОП 3 група. За потреби — можливе бронювання.
Компенсація для Senior-рівня: €4 000–5 000 gross / місяць; для Staff/Principal рівень і вилка калібруються окремо до офера.
Процес відбору
- Скринінг із Lead TA (45–60 хв). Узгоджуємо мотивацію, релевантність досвіду Kotlin/KMP, очікування щодо ролі та формату співпраці.
- Технічна співбесіда з наймаючими менеджерами - Ростиславом і Броніславом (60–90 хв). Обговорюємо системний дизайн і архітектурні підходи, real-time/офлайн-сценарії, практики якості; за потреби — коротка симуляція (~10 хв).
- Фінальна співбесіда зі Стейкхолдерами (60–90 хв).
Фокус — цінності, відкрита комунікація, ownership і готовність працювати в місійному defense-контексті.
- Перевірка бекграунду (за вашою згодою і узгодженим флоу).
Референси та базова верифікація інформації.
- Офер і підсумкове узгодження з Lead TA.
Обговорюємо фінальні умови, дату старту та кроки онбордингу.
Без тестового завдання; за потреби — коротка симуляція (~10 хв) на технічному етапі.
Фідбек протягом 24 годин після кожного етапу.
Як податись
Аплайтесь тут чи CV / LinkedIn / GitHub на + 2–3 речення про ваш найскладніший інженерний кейс (архітектура/продуктивність/real-time), де ви самостійно провели рішення від проблеми до релізу.
*У темі листа вкажіть: «Kotlin Engineer — Київ (як приклад)»
Ми цінуємо не лише хард-скіли, а й мотивацію, чесну комунікацію та відповідальність (за потреби, деталі продукту обговорюємо після підпису NDA).
Originally posted on Himalayas