AND Digital
AND Digital
AND Digital — технологічна консалтингова компанія, яка допомагає організаціям посилювати цифрові компетенції та створювати якісніші цифрові продукти. Компанія працює у сферах консалтингу, розробки програмного забезпечення, створення мобільних застосунків, проєктування користувацького досвіду та рішень для роботи з даними, підтримуючи клієнтів у Великій Британії, Європі та США. Завдяки підходу «Спрямовувати, створювати, оснащувати» AND Digital поєднує практичну реалізацію проєктів із розвитком компетенцій, працюючи через згуртовані клуби, які об’єднують тісну взаємодію з клієнтами та доступ до ширшої технічної експертизи.

Контрактний розробник C++ — гібридний формат, Лондон

Контрактна позиція розробника C++ в AND Digital: розробка надійного вбудованого ПЗ на Linux для критично важливої медичної технології. Робота охоплює компоненти застосунків на C++17, аварійні сигнали, постійне зберігання даних, нагляд і керування несправностями.

Опис

  • Розробляти умови технічних аварійних сигналів на основі телеметрії обладнання та операційної системи
  • Реалізовувати аварійні сигнали для датчиків пацієнта, якості сигналу та зовнішнього моніторингу
  • Інтегрувати апаратні інтерфейси аварійних сигналів, зокрема вимкнення звуку, перевірку рівня сигналу та телеметрію
  • Створювати механізми обробки несправностей і відновлення
  • Розробляти самотестування під час увімкнення, перевірку сумісності обладнання, GPU та системи
  • Реалізовувати безпечні стани, керування несправностями, сторожові таймери та нагляд за системою
  • Підтримувати виявлення та відновлення після перерваних сеансів
  • Розробляти журнали застосунку й аудиту, а також ротацію журналів
  • Створювати інтерфейси зберігання з атомарним записом і записом із контрольними сумами
  • Керувати читанням, видаленням і переглядом списку сеансів у фіксованих розділах сховища
  • Розробляти пакування, постановку в чергу, вивантаження, зберігання та отримання даних пацієнта
  • Підтримувати дозаповнення даних і представлення історичних даних
  • Створювати версійовані інтерфейси між даними серверної частини та графічним інтерфейсом
  • Керувати життєвим циклом датчиків пацієнта та сеансів
  • Підтримувати метадані сеансів, відновлення та коректне завершення роботи
  • Розробляти обробку кнопки живлення та процедури контрольованого вимкнення живлення
  • Підтримувати експорт даних через USB, сервісні інструменти та обробники обслуговування пристрою
  • Підтримувати оновлення програмного забезпечення, підтвердження та процедури відкату
  • Реалізовувати вилучення журналів та аудитне журналювання
  • Відповідати за самостійну область застосунку — від проєктування до об’єднання, тестування та документування коду
  • Співпрацювати з архітектором програмного забезпечення та інженерами, які працюють над суміжними компонентами
  • Брати участь у створенні суворо регульованого медичного продукту з критично важливими вимогами безпеки

Вимоги

  • Значний досвід розробки сучасних застосунків на C++17 для вбудованого Linux
  • Глибокі знання RAII, типів фіксованої ширини, std::atomic, багатопотоковості, а також блокувальних або обмежених черг без блокувань
  • Досвід створення програмного забезпечення, де критично важливі детермінованість поведінки та надійність
  • Досвід роботи із середовищами виконання без виділення пам’яті або з мінімальним виділенням, зокрема з попередньо виділеною пам’яттю та контейнерами фіксованої місткості
  • Досвід роботи з архітектурою портів і адаптерів або гексагональною архітектурою, інтерфейсами та впровадженням залежностей
  • Глибокий досвід системної інтеграції Linux, зокрема служб, сторожових таймерів і керування системними несправностями
  • Досвід роботи з IPC і технологіями серіалізації, такими як FlatBuffers, Unix-сокети або іменовані канали
  • Досвід роботи з CMake, автоматизованим тестуванням і конвеєрами CI/CD
  • Досвід крос-компіляції, бажано для платформ aarch64
  • Глибокі знання модульного тестування, покриття коду та контрольних перевірок якості
  • Готовність працювати в межах формальних інженерних процесів, зокрема експертної перевірки коду, відстежуваних змін і задокументованих проєктних рішень
  • Досвід розробки програмного забезпечення для критично важливих з погляду безпеки, місійно критичних або суворо регульованих систем
  • Досвід розробки медичних пристроїв або інших критично важливих з погляду безпеки систем буде перевагою
  • Досвід роботи в регульованих середовищах або у сфері наук про життя буде перевагою
  • Високий рівень володіння ШІ буде перевагою
  • Знання IEC 62304, ISO 13485 або зіставних стандартів розробки регульованого програмного забезпечення буде перевагою
  • Досвід роботи з медичними системами аварійних сигналів або іншими системами сигналізації та керування несправностями буде перевагою
  • Розуміння IEC 60601-1-8 або еквівалентного стандарту безпеки буде перевагою
  • Досвід роботи із супервізорами на основі скінченних автоматів і системами керування несправностями буде перевагою
  • Досвід роботи з NVIDIA Jetson, CUDA або обробкою з GPU-прискоренням буде перевагою
  • Досвід роботи з Yocto та пакетами підтримки плат для вбудованого Linux буде перевагою
  • Досвід роботи із systemd, sd_notify, D-Bus і journald буде перевагою
  • Досвід роботи з OpenSSL, TensorRT або подібними зовнішніми технологіями буде перевагою
  • Досвід використання Docker для середовищ розробки буде перевагою
  • Досвід роботи з GoogleTest, поведінковим тестуванням або Gherkin буде перевагою
  • Досвід роботи з Python для інструментів і скриптів розгортання буде перевагою
  • Досвід участі в заходах FMEA програмного забезпечення та реалізації заходів контролю ризиків буде перевагою

Переваги

  • Роботодавець дотримується принципів рівних можливостей і створює інклюзивне робоче середовище
  • За потреби протягом усього процесу найму надаються розумні умови та адаптації