Опис вакансіїC++ Embedded Software Engineer (Middle / Senior)Critical / Defense-Oriented SystemsМи шукаємо інженера, здатного нести повну технічну відповідальність за розробку вбудованого програмного забезпечення для систем підвищеної надійності. Робота передбачає участь у повному циклі створення програмно-апаратного комплексу — від формування технічних вимог до інтеграції, валідації та підтримки у виробництві.Роль орієнтована на інженера, який приймає рішення, працює з реальним «залізом» і розу
Опис вакансіїC++ Embedded Software Engineer (Middle / Senior)Critical / Defense-Oriented Systems
Ми шукаємо інженера, здатного нести повну технічну відповідальність за розробку вбудованого програмного забезпечення для систем підвищеної надійності. Робота передбачає участь у повному циклі створення програмно-апаратного комплексу — від формування технічних вимог до інтеграції, валідації та підтримки у виробництві.
Роль орієнтована на інженера, який приймає рішення, працює з реальним «залізом» і розуміє наслідки помилок у критичних системах.
Ключова зона відповідальності
- Архітектура та реалізація embedded-ПЗ для систем із підвищеними вимогами до надійності
- Коректна інтеграція ПЗ з апаратною частиною
- Передбачувана поведінка системи у штатних та аварійних режимах
- Технічна обґрунтованість архітектурних рішень
- Відповідність коду вимогам до безпеки, надійності та трасованості
Основні задачі
- Розробка системного та прикладного ПЗ на C++ для embedded-платформ
- Проєктування архітектури з урахуванням обмежень пам’яті, CPU, енергоспоживання
- Робота з MCU / SoC, низькорівневими інтерфейсами (SPI, I2C, UART, CAN, GPIO)
- Реалізація драйверів, HAL-рівня, протоколів обміну
- Hardware-software co-design: участь у виборі компонентів, аналіз електричних схем, вплив на PCB-рішення
- Інтеграція з сенсорами, актуаторами, радіомодулями, силовими вузлами
- Debug та fault analysis на реальному обладнанні (JTAG/SWD, осцилограф, логічний аналізатор)
- Пошук і усунення race conditions, memory corruption, timing violations
- Оптимізація deterministic-поведінки системи
- Участь у code review та технічному аудиті
Обов’язкові технічні вимоги
- Глибоке володіння C++
- Middle: впевнене використання modern C++
- Senior: розуміння стандартів, ABI, механізмів компіляції та лінкування
- Досвід розробки для bare-metal або RTOS
- Розуміння роботи пам’яті (stack/heap), DMA, переривань, таймерів
- Практичний досвід роботи з реальним обладнанням
- Досвід написання низькорівневого коду без залежності від важких фреймворків
- Вміння читати схеми та даташити без «перекладача»
- Розуміння принципів електроніки (аналогова/цифрова частина)
Додаткові компетенції (перевага)
- Досвід розробки власних плат або прототипів
- Робота з системами реального часу
- Написання unit/integration тестів для embedded
- Досвід роботи з системами підвищеної надійності (critical, military-grade)
- Розуміння принципів відмовостійкості та fail-safe поведінки
Очікування за рівнемMiddle
- Самостійна реалізація модулів
- Відповідальність за стабільність власного коду
- Коректна інтеграція з апаратною частиною
Senior
- Архітектура системи
- Вплив на вибір MCU, компонентів та інженерних рішень
- Технічне лідерство
- Менторинг інженерів
- Прийняття критичних інженерних рішень
Ми не шукаємо
- «Тільки софт» без розуміння апаратної частини
- Розробника, який не працював із реальним hardware