Tech Stack
ReactTypeScriptJavaScriptElectron
Job Description, Responsibilities & Requirements
Description language:
Про посаду
Ми шукаємо Старшого інженера-програміста повного циклу для розробки високонавантажувальних мікросервісних систем з кросплатформними настільними додатками для автономних безпілотників. Приєднуйтесь до OMD Systems, компанії, яка займається створенням надійних, інтелектуальних безпілотних систем для оборонних та безпекових застосувань.
Обов'язки
- Розробка, тестування та підтримка високонавантажувальних мікросервісних систем з кросплатформними настільними додатками, використовуючи Electron та React.
- Реалізація стабільного та безпечного комунікаційного інтерфейсу процесів (IPC) для настільних додатків.
- Створення високонавантажувальної системи з гнучкою масштабуваністю як для сервера, так і для додатка.
- Тісна співпраця з інженерами бэкенду, прошивки та системами для забезпечення стабільного, низьколатентного обміну даними.
- Управління життєвим циклом додатка, керування вікнами, фоновими процесами та системними дозволами для настільних додатків.
- Розробка та інтеграція таких функцій, як картографування, візуалізація телеметрії, управління місією та відеопотіки.
- Внесення пропозицій щодо архітектурних рішень та оптимізації продуктивності.
- Створення чіткої та структурованої документації для розробників/користувачів.
- Співпраця з QA та дизайнерськими командами для підтримки тестування, валідації та покращення UX.
- Участь у оглядах коду та допомога у підтриманні високих інженерних стандартів.
Кросплатформність та інтеграція з ОС для настільних додатків
- Забезпечення коректної поведінки на Linux, macOS та Windows.
- Обробка дозволів, специфічних для ОС (мережа, захоплення екрану, доступ до апаратного забезпечення).
- Інтеграція системних функцій там, де це необхідно (файлова система, USB, мережу).
Продуктивність, стабільність та надійність
- Оптимізація системи для тривалих місій.
- Виявлення та усунення витоків пам'яті, умов гонки та вузьких місць продуктивності.
- Забезпечення стабільної поведінки при високочастотних телеметричних та відеопотоках.
- Реалізація граціозного відновлення після аварійних завершень або втрати з'єднання.
Відеопотіки та дані в реальному часі для настільних додатків
- Інтеграція потоків відео в реальному часі в додаток Electron.
- Синхронізація відео, телеметрії та UI накладок.
- Обробка повторних підключень потоків, сплесків латентності та погіршення якості.
- Оптимізація продуктивності для комбінованого рендерингу відео + телеметрії.
Вимоги
Основні технічні навички
- Глибокий досвід роботи з JavaScript / TypeScript.
- Перевірені навички створення додатків Electron.
- Глибокий досвід роботи з React та сучасними фронтенд-паттернами.
- Глибоке розуміння асинхронних та подієвих архітектур.
- Досвід проектування та реалізації алгоритмів для оцінки та прогнозування траєкторій об'єктів.
- Здатність обчислювати ймовірнісні результати на основі кількох динамічних факторів.
- Досвід роботи з кінематичними даними в реальному часі та постійним оновленням прогнозів.
- Здатність балансувати точність, продуктивність та числову стабільність у реальночасових системах.
- Здатність працювати з ненадійними мережами та часово-чутливою комунікацією.
- Досвід роботи з реальними телеметричними або потоковими даними.
- Розуміння мережевих протоколів TCP/UDP.
Настільний та системний рівень розробки
- Розуміння процесів Electron main та renderer.
- Досвід роботи з IPC, фоновими роботами та інтеграцією з ОС.
- Знання кросплатформених процесів створення та упаковки.
Продуктивність та налагодження
- Досвід профілювання та оптимізації продуктивності в додатках.
- Здатність налагоджувати складні проблеми реального часу та багатопоточності.
- Досвід роботи з логами, телеметрією та діагностикою під час виконання.
Буде плюсом
- Досвід роботи з Docker або контейнеризованими робочими процесами.
- Розуміння реальних баз даних, обробки даних у реальному часі та потоків високої частоти.
- Досвід роботи з CI/CD-піплайнами та автоматизованими тестуваннями для серверних та настільних додатків.
- Знання додаткових фронтенд-фреймворків або бібліотек візуалізації.
- Знання геопросторових інструментів, відеокодеків або аналізу телеметрії.
Ми пропонуємо
- Конкурентоспроможну зарплату.
- Можливість працювати над передовими системами управління безпілотниками, що використовуються у реальних місіях.
- Співпраця з досвідченими інженерами, операторами та пілотами-випробувачами.
- Безпосередній вплив на операції польотів, надійність системи та успіх місії.
Про компанію
OMD Systems розробляє передові технології безпілотників та автономії для оборонних та безпекових застосувань. Наша місія - створювати надійні, інтелектуальні безпілотні системи, які інтегрують управління польотом, реальний час зв'язку та прийняття рішень на основі штучного інтелекту.