
1001 – 5000 Служители
Спонсор на виза за квалифициран работникSaaSКонсултантски услугиСофтуерно инженерствоAND Digital е технологична консултантска компания, която помага на организациите да укрепят своите дигитални способности и да създават по-добри дигитални продукти. Дейността ѝ обхваща консултиране, софтуерно инженерство, разработване на мобилни приложения, дизайн на потребителското изживяване и решения за данни, като подкрепя клиенти във Великобритания, Европа и САЩ. Чрез своя подход „Насочвай, Изграждай, Оборудвай“ AND Digital съчетава практическо изпълнение с изграждане на способности и работи чрез сплотени клубове, които обединяват ангажирани взаимоотношения с клиентите с достъп до по-широка техническа експертиза.
Старши C++ разработчик – хибридна работа в Лондон
Разработвайте Embedded Linux софтуер за регулиран медицински технологичен продукт на AND Digital. Ръководете функционалности, обхващащи аларми, данни за пациенти, надзор, възстановяване и услуги на устройството.
Описание
- Създаване на технически условия за аларми от телеметрията на хардуера и операционната система
- Разработване на аларми за пациентски сензори, качество на сигнала и външно наблюдение
- Интегриране на хардуерни интерфейси за аларми, включително заглушаване, проверка на нивото на алармата и телеметрия
- Проектиране на устойчиви механизми за обработка на неизправности и възстановяване
- Разработване на проверки при включване за регистриране, съвместимост на хардуера, състояние на GPU и системни самотестове
- Внедряване на безопасни при отказ състояния и контроли за управление на неизправности
- Интегриране на watchdog механизми и механизми за системен надзор
- Осигуряване на откриване и възстановяване на прекъснати сесии
- Изграждане на регистриране, одитни следи и ротация на логове
- Наблюдение на телеметрията на операционната система, включително активността на бутона за захранване и състоянието на хранилището
- Разработване на интерфейси за съхранение с атомарни записи и контролни суми
- Управление на четенето, изтриването и изброяването на сесии във фиксирани дялове за съхранение
- Внедряване на пакетиране, поставяне на опашка, изчистване, задържане и извличане на данни за пациенти
- Поддръжка на допълване на данни и представяне на исторически данни
- Създаване на версионирани интерфейси между backend данните и графичния потребителски интерфейс
- Управление на жизнения цикъл на пациентските сензори и сесиите
- Поддръжка на метаданни за сесии, работни процеси за възстановяване и коректно изключване
- Разработване на обработка на бутона за захранване и контролирани процеси за изключване
- Осигуряване на експорт на данни чрез USB
- Работа със сервизни инструменти и обработчици на услуги на устройството
- Поддръжка на софтуерни актуализации, потвърждение и връщане към предишна версия
- Внедряване на извличане на логове и одитно регистриране
- Поемане на отговорност за самостоятелна област от приложението – от проектирането до сливането, тестването и документирането на кода
- Сътрудничество със софтуерния архитект и инженерите, отговорни за съседните компоненти
- Поемане на отговорност за доставката в определената област
Изисквания
- Сериозен опит в разработването на модерни приложения на C++17 за Embedded Linux
- Задълбочени познания по RAII, типове с фиксирана ширина, std::atomic, многопоточност и неблокиращи или ограничени опашки
- Опит в разработването на софтуер, при който детерминираното поведение и надеждността са от съществено значение
- Опит със среди за изпълнение без алокации или с малко алокации, предварително заделена памет и контейнери с фиксиран капацитет
- Опит с прилагането на архитектура ports-and-adapters или шестоъгълна архитектура, интерфейси и инжектиране на зависимости
- Силен опит в системната интеграция с Linux, обхващащ услуги, watchdog механизми и управление на системни неизправности
- Опит с IPC и технологии за сериализация като FlatBuffers, Unix domain sockets или именувани канали
- Опит с CMake, автоматизирано тестване и CI/CD конвейери
- Опит с кроскомпилация, за предпочитане за платформи aarch64
- Силен опит с модулно тестване, включително покритие на кода и качествени гейтове
- Готовност за работа в рамките на формални инженерни процеси, включващи партньорска проверка, проследими промени и документирани проектни решения
- Опит в разработването на безопасен, критичен за мисията или силно регулиран софтуер
- Желателно: опит в разработването на медицински изделия или други безопасни критични системи
- Желателно: познания по IEC 62304, ISO 13485 или сравними стандарти за регулиран софтуер
- Желателно: опит с медицински алармени системи или други системи за аларми и управление на неизправности
- Желателно: разбиране на IEC 60601-1-8 или еквивалентен стандарт за безопасност
- Желателно: опит със супервизори и системи за управление на неизправности, базирани на автомати на състоянията
- Желателно: опит с NVIDIA Jetson, CUDA или GPU-ускорена обработка
- Желателно: опит с Yocto и пакети за поддръжка на платки за Embedded Linux
- Желателно: опит със systemd, sd_notify, D-Bus и journald
- Желателно: опит с OpenSSL, TensorRT или сравними външни технологии
- Желателно: опит с използването на Docker за среди за разработка
- Желателно: опит с GoogleTest, тестване, управлявано от поведението, или Gherkin
- Желателно: опит с Python за инструменти и скриптове за внедряване
- Желателно: опит с участие в дейности по софтуерна FMEA и внедряване на мерки за контрол на риска
Придобивки
- Възможност за незабавно започване
- 12-седмичен договорен ангажимент
- Хибриден режим, изискващ 2 до 3 дни на място в Kings Cross
- При необходимост по време на целия процес по подбор са налични разумни адаптации