Компания «Код безопасности» – российский разработчик программных и аппаратных средств защиты информации, приглашает в команду
инженера-программиста.Проекты ПО микроконтроллеров разрабатываются для программно-аппаратных комплексов (ПАК) двух основных направлений:
- ПАК защиты конечных точек (ПАК «Соболь» и т. п.);
- ПАК сетевой безопасности (средства защиты передаваемого трафика, анализа пакетов и т. п.).
Основные задачи связаны с разработкой программного обеспечения (прошивок) для микроконтроллеров с архитектурами ARM (Cortex-M), RISC-V и Microblaze. Разрабатываемые прошивки реализуют функции управления основными узлами плат ПАК, интерфейсные функции (взаимодействие по интерфейсам SPI, UART, USB 2.0 и т. п.) и обработку конфиденциальных данных в защищённом изолированном окружении.
Разработка ПО ведётся с использованием открытых средств разработки в среде Linux (GNU toolchain, gdb, OpenOCD, CMake, etc). При разработке предполагается активное участие в процессе интеграции ПО МК с другими элементами комплексов, для чего требуется написание тестового и технологического ПО, работающего в среде Linux.
Чем предстоит заниматься: - разработка драйверов периферийных блоков для микроконтроллеров (BSP);
- разработка ПО микроконтроллеров, необходимого для их работы в составе программно-аппаратных комплексов (загрузчиков, прошивок МК и т.п.);
- участие в разработке драйверов для ОС Linux;
- участие в разработке технологического ПО для ОС Linux;
- исследование проблем совместимости ПО микроконтроллеров, системного ПО и аппаратных платформ;
- участие в наладке разработанных устройств (bring-up);
- отладка и тестирование разработанного ПО
Что ожидаем от кандидата: - знание языков программирования C и C++;
- знание архитектуры современных микроконтроллеров;
- опыт разработки драйверов периферийных блоков микроконтроллеров;
- владение средствами дизассемблирования и низкоуровнемыми средствами отладки;
- опыт разработки программного обеспечения для микроконтроллеров на базе архитектур ARM и RISC-V;
- опыт работы и разработки ПО микроконтроллеров в среде Linux;
- навыки работы с компилятором GCC;
- опыт работы со средами сборки GNU Make и CMake;
- опыт работы с системами управления проектами (TFS, Jira, Redmine и т. п.);
- опыт работы с системами управления версиями исходных текстов (GIT, Mercurial, Subversion и т. п.).
Желательно:
- знание диалектов assembler x86, ARM, RISC-V;
- опыт использования ОС РВ (RTOS) для микроконтроллеров (например, FreeRTOS);
- опыт разработки программного обеспечения для микроконтроллеров на базе архитектур Microblaze, NIOS;
- опыт работы с отладчиком GDB;
- опыт работы с внутрисхемными средствами отладки на базе OpenOCD;
- опыт разработки системного ПО и драйверов для ОС Linux;
- базовые знания в области криптографии (использование криптографических алгоритмов для защиты информации);
- базовые знания в области информационной безопасности;
- опыт разработки программного обеспечения для программно-аппаратных комплексов, реализуемых на базе ПЛИС и микроконтроллеров;
- базовые знания электротехники и микроэлектроники;
- умение читать и понимать электрические схемы.
Условия: - полное соблюдение ТК РФ;
- аккредитованная IT-компания;
- интересная работа в компании-лидере в области создания средств защиты информации;
- график 5/2, гибкое начало дня с 9 до 11, комфортная и лояльная атмосфера в команде;
- ДМС со стоматологией и гибридный формат работы после испытательного срока (2 удаленных дня в неделю)
- массажное кресло, настольный теннис, спортивные комнаты и вендинговые автоматы с едой в офисе;
- уровень заработной платы обсуждается с успешным кандидатом;
-
месторасположение - ст. м. Нагатинская, 10 мин. пешком от метро
Если вы пока не обладаете всеми необходимыми навыками, но готовы быстро их освоить и развиваться вместе с нами — будем рады рассмотреть ваше резюме!