
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 програмного забезпечення та реалізації заходів контролю ризиків буде перевагою
Переваги
- Роботодавець дотримується принципів рівних можливостей і створює інклюзивне робоче середовище
- За потреби протягом усього процесу найму надаються розумні умови та адаптації