Buntar Aerospace — українська mil-tech компанія, що розробляє технологічні рішення для оборонного сектору.
Наш основний продукт — Buntar Copilot, це клієнт розподіленої системи керування рою дронів: керування БПЛА, планування місій, робота з картами, відеострімінг, телеметрія, інтеграція із зовнішніми сервісами та інші критично важливі компоненти.
Ми шукаємо сильного Software Architect, який допоможе сформувати єдине архітектурне бачення продукту та закласти основу для його подальшого масштабування. Який бачить систему цілісно, приймає стратегічні технічні рішення та допомагає команді рухатися в одному напрямку.
Про роль
Сьогодні продукт активно розвивається, однак його архітектура формувалася поступово разом зі зростанням команди та кількості функцій.
Нам потрібна людина, яка зможе:
провести архітектурний аудит існуючої системи
глибоко розібратися в поточній кодовій базі
визначити слабкі місця архітектури
сформувати цільову архітектуру продукту
допомогти команді перейти до неї без втрати стабільності системи
Основні задачі
Спроєктувати клієнтську архітектуру для роботи в розподіленій системі реального часу: кілька операторів, десятки дронів, географічно рознесені, з нестабільним зв’язком
Визначити чіткі контракти (API/protocol) між Copilot та суміжними системами: Command & Control (адаптери дронів), Cloud Infrastructure (релей команд, синхронізація стану), Autonomy (бортова логіка)
Спроєктувати модель станів та синхронізації: єдина картина по дрону для всіх операторів, буферизація й реплей телеметрії при втраті зв’язку, вирішення конфліктів коли двоє керують одним об’єктом
Закласти архітектуру так, щоб додавання нового типу дрона (новий лінк зв’язку, інший payload-стрім, інший gimbal) не вимагало переписування Copilot
Спроєктувати вбудований шар правил/асистента (Copilot Magic): аналіз телеметрії в реальному часі, виявлення небезпечних сценаріїв, проактивні попередження та дії — як частину застосунку, не окрему систему
Відокремити бізнес-логіку від UI та побудувати зрозумілі точки взаємодії між компонентами системи
Працювати разом із frontend розробниками, backend, QA, DevOps та дизайнером над технічними рішеннями
Що для нас важливо
Must-have
5+ років досвіду розробки складних web applications
Досвід проєктування клієнтів розподілених/realtime систем: синхронізація стану, обробка нестабільного з’єднання, оптимістичні апдейти, reconnection/replay логіка
Досвід роботи у ролі Software Architect, Solution Architect або Principal Engineer
Розуміння роботи з потоковими даними під навантаженням: телеметрія від десятків джерел одночасно, відеострім, latency у сотні мілісекунд як норма, а не виняток
Глибока експертиза в React.js та TypeScript
Досвід проєктування архітектури великих frontend applications
Розуміння принципів модульної, компонентної або plugin-based архітектури
Досвід рефакторингу великих існуючих систем
Вміння працювати зі складною legacy-кодовою базою
Досвід побудови взаємодії між frontend та backend
Вміння аргументувати технічні рішення та синхронізувати команду навколо єдиного підходу
Досвід проєктування систем, стійких до втрати зв’язку (degraded/offline-режими, черги команд, eventual consistency
Вміння проєктувати межі між системами через явні контракти (gRPC / message queue / WebSocket-протоколи) — а не лише шари всередині одного застосунку
Буде перевагою
Досвід роботи з Redux
Знання Go
Досвід у сфері UAV / Robotics / IoT / Embedded
Розуміння MAVLink, ArduPilot або інших систем керування БПЛА
Досвід з протоколами реального часу: WebSocket, gRPC, MQTT, WebRTC
Розуміння мережевої стійкості: NAT traversal, VPN-тунелі (Tailscale/WireGuard), edge-релеї, fallback-стратегії
Досвід зі state-синхронізацією для кількох клієнтів (CRDT, event sourcing, або власні протоколи — як в онлайн-іграх: server-authoritative + client prediction)
Досвід проєктування під горизонтальне масштабування backend під багато одночасних з’єднань
Ми пропонуємо
Роботу з продуктом, яки


