Локація: Київ
Бронювання з першого дня
Про компанію
Ми розробляємо передові програмні рішення та автономні системи для mission-critical та оборонних застосувань. Наші продукти поєднують безпілотні платформи, edge computing, AI-рішення, відеострімінг, телеметрію, картографію та системи керування місіями, які працюють у складних реальних умовах.
Ми шукаємо Frontend Developer / Qt-QML Developer, який буде відповідати за розробку, підтримку та розвиток багатоплатформених застосунків для керування безпілотними системами, моніторингу місій, роботи з картами, відеопотоками, телеметрією та зовнішніми пристроями керування.
Основна мета ролі
Розробка зручного, стабільного та продуктивного frontend-застосунку для керування безпілотними платформами, планування місій, відображення телеметрії, відео та оперативної інформації в реальному часі.
Основний напрям роботи — розвиток власного багатоплатформеного застосунку на базі Qt/QML та форку QGroundControl, інтеграція з backend-сервісами через GraphQL, підтримка картографічних компонентів, оптимізація роботи з джойстиками та візуалізація відеотрансляцій через GStreamer.
Підпорядкування
Підпорядковується: Head of Innovations / CTO / PM.
Працює у тісній взаємодії з:
- backend-командою;
- embedded-командою;
- navigation-командою;
- AI/computer vision командою;
- QA-командою;
- DevOps-командою;
- product owner / technical project manager;
- командами інтеграції та польового тестування.
Ключові обов’язки
1. Розробка інтерфейсу користувача
- Розробка та підтримка багатоплатформеного UI на Qt/QML.
- Розвиток кастомного застосунку на базі форку QGroundControl.
- Реалізація екранів для:
- моніторингу стану системи;
- перегляду телеметрії;
- керування місіями;
- контролю підключених платформ;
- перегляду відеопотоків;
- роботи з картою;
- налаштування обладнання та каналів зв’язку.
- Оптимізація UI для роботи в польових умовах: мінімальна затримка, зрозумілі індикатори, стабільна робота на різних екранах.
- Розробка reusable QML-компонентів для різних продуктів і сценаріїв використання.
- Адаптація існуючих екранів QGroundControl під потреби продукту.
- Інтеграція з MAVLink-телеметрією, місіями, параметрами та статусами платформи.
- Підтримка desktop, tablet та field-station сценаріїв використання.
- Оптимізація існуючих модулів QGroundControl під специфічні сценарії керування дронами, USV, UGV або іншими роботизованими платформами.
2. Робота з картами та mission planning
- Розробка та підтримка картографічних UI-компонентів у Qt/QML.
- Відображення позицій платформ, маршрутів, зон, точок інтересу, цілей та місій на карті.
- Реалізація інструментів для планування, редагування та візуалізації місій.
- Підтримка map tile providers, offline maps та кешування карт.
- Відображення real-time телеметрії на карті.
- Візуалізація історії руху, активної місії, планового маршруту та фактичної траєкторії.
- Оптимізація продуктивності карти при роботі з великою кількістю об’єктів.
- Інтеграція карти з відео, телеметрією, місіями, backend-даними та командним інтерфейсом.
3. Інтеграція з backend через GraphQL
- Отримання та оновлення даних через GraphQL API.
- Реалізація клієнтської логіки для:
- запитів;
- мутацій;
- підписок;
- кешування;
- обробки помилок;
- reconnect/fallback-логіки.
- Відображення стану системи в UI на основі даних з backend, телеметрії та локальних сервісів.
- Реалізація real-time оновлення статусів, подій, команд, місій та підключених платформ.
- Узгодження frontend-моделей даних з backend API.
4. Робота з джойстиками та пристроями керування
- Підтримка та оптимізація роботи з джойстиками, геймпадами та іншими пристроями керування.
- Зменшення затримок, jitter та нестабільності керування.
- Обробка втрати з’єднання з пристроєм керування.
- Підтримка failsafe-поведінки на рівні UI/UX та інтеграції з системною логікою.
5. Відео та GStreamer
- Інтеграція відеопотоків у Qt/QML застосунок.
- Робота з GStreamer для прийому, декодування та відображення відео.
- Підтримка потоків з камер, дронів, наземних, морських або інших роботизованих платформ.
- Оптимізація latency та стабільності відеотрансляції.
- Реалізація перемикання між відеопотоками.
- Підтримка кількох одночасних відеопотоків.
- Відображення overlay-інформації: статус, телеметрія, індикатори, попередження, об’єкти або службова інформація.
- Інтеграція відеомодуля з картою, телеметрією та командним інтерфейсом.
6. Продуктивність, стабільність та UX
- Оптимізація продуктивності Qt/QML UI.
- Профілювання та усунення проблем із latency, frame drops, зависаннями UI.
- Забезпечення стабільної роботи застосунку при real-time потоках даних.
- Покращення UX для операторів у польових умовах.
- Робота з edge cases: втрата зв’язку, нестабільна телеметрія, відсутність відео, помилки API, перепідключення пристроїв.
- Підготовка frontend-рішень до польових та інтеграційних тестувань.
Вимоги до кандидата
Обов’язкові вимоги
- Комерційний досвід розробки з Qt/QML.
- Досвід роботи з C++ у контексті Qt.
- Розуміння архітектури багатоплатформених desktop/tablet застосунків.
- Досвід розробки складних UI з real-time оновленням даних.
- Досвід роботи з існуючим великим codebase.
- Розуміння асинхронної взаємодії з API.
- Досвід роботи з GraphQL або готовність швидко його опанувати.
- Базове розуміння роботи з відеопотоками.
- Досвід налагодження продуктивності UI.
- Досвід роботи з Git.
- Здатність самостійно розбиратися в існуючій архітектурі та пропонувати покращення.
Необхідні технічні навички
Практичний досвід або впевнене розуміння:
- Qt
- QML
- C++
- QGroundControl fork
- GraphQL
- GStreamer
- MAVLink
- Maps / GIS / geospatial UI
- Map providers and tile layers
- Offline maps
- Mission planning UI
- Joystick / HID devices
- Linux / Windows
- UDP / RTSP / RTP
- Git
Буде перевагою
- Досвід роботи з QGroundControl.
- Розуміння MAVLink, ArduPilot або PX4.
- Досвід роботи з GStreamer.
- Досвід інтеграції джойстиків, геймпадів або HID-пристроїв.
- Досвід роботи з картографічними компонентами в Qt/QML.
- Досвід роботи з картами у QGroundControl або подібних Ground Control Station системах.
- Розуміння роботи з:
- map tiles;
- offline maps;
- координатами;
- маршрутами;
- waypoints;
- polygons / zones;
- geofencing;
- mission planning UI;
- map overlays;
- POI;
- real-time asset tracking.
- Досвід інтеграції карт із real-time телеметрією.
- Досвід роботи з GIS/geospatial UX.
- Досвід візуалізації великої кількості рухомих об’єктів на карті.
- Досвід розробки Ground Control Station, Mission Control.
- Досвід з Linux.
- Розуміння мережевих протоколів: UDP, TCP, RTSP, RTP.
- Досвід роботи з low-latency video streaming.
- Досвід розробки UI для embedded, industrial або military-grade систем.
- Досвід у доменах UAV / USV / UGV / robotics / autonomous systems.
Особисті якості
- Високий рівень відповідальності та ownership mindset.
- Уважність до деталей в UI/UX.
- Системне та аналітичне мислення.
- Здатність працювати з комплексними технічними системами.
- Готовність розбиратися в існуючому codebase.
- Здатність працювати в умовах невизначеності.
- Комфортна робота у швидкому R&D та mission-driven середовищі.
- Проактивність та бажання постійно покращувати продукт.
- Орієнтація на практичний результат, стабільність і зручність для кінцевого оператора.
Очікувані результати на випробувальний термін
Перший місяць
- Ознайомлення з архітектурою продукту.
- Розгортання локального dev-середовища.
- Реалізація MVP.
Другий місяць
- Розділення додатка на 2 незалежних додатки з різним функціоналом.
Третій місяць
- Підготовка покращеної архітектури для роботи з картою, відео, джойстиками або GraphQL.
- Закриття критичних frontend-проблем, які впливають на usability системи.
- Інтеграція системи відаленого керування від партнерів.
Критерії успіху
Кандидат буде вважатися успішним, якщо протягом випробувального терміну він:
- швидко розібрався з Qt/QML та форком QGroundControl;
- може самостійно реалізовувати нові UI-функції;
- стабільно інтегрує дані з GraphQL у frontend;
- забезпечив стабільну візуалізацію відеопотоків;
- пише підтримуваний код, який можна розвивати надалі;
- розуміє операційний контекст застосунку: керування платформами, місії, карти, відео, телеметрія, польові умови;
Кар’єрний розвиток
Ця позиція може передбачати розвиток у напрямку:
Frontend Developer / Qt-QML Developer → Frontend Lead / Ground Control Station Lead
Очікувані напрями розвитку:
- ownership frontend-архітектури;
- розвиток UI/UX для ground control та mission control систем;
- технічне лідерство у Qt/QML напрямі;
- стандартизація frontend-компонентів;
- розвиток картографічного, відео та mission planning функціоналу;
- участь у формуванні архітектури ground station продуктів.
Співпраця з нами — це:
- Безпека та стабільність: офіційне працевлаштування, можливість бронювання (надається вже під час випробувального терміну).
- Комфорт: харчування за рахунок компанії, сучасні виробничі приміщення та зони відпочинку.
- Допомога з релокацією
- Професійний розвиток: наставник на період адаптації, оплачуване навчання та кар’єрний ріст.
- Соціальні гарантії: відпустка (24 дні) та лікарняні. Часткова компенсація витрат на переїзд для кандидатів з інших регіонів.
Графік та умови:
- Графік роботи: змінний або офісний (залежно від підрозділу).
- На критичному виробництві можливе залучення до 6-денного робочого тижня за потреби.
Етапи відбору:
- Інтерв’ю з HR.
- Інтерв’ю з Head of Innovations, CTO
- Офер
- Поліграф.
- Початок співпраці
Ми працюємо над технологіями, що мають значення. Приєднуйтесь до нашої команди, щоб зробити реальний внесок у спільну перемогу!
