AND Digital
AND Digital
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
  • При необходимост по време на целия процес по подбор са налични разумни адаптации