Отличное знание языка программирования С
Знание базовых принципов построения современных операционных систем
Опыт многопоточного программирования
Опыт разработки ядра Linux/Windows
Опыт разработки драйверов для Linux/Windows
Знание классических алгоритмов и структур данных
Знание инструментов разработки в Unix системах (Linux, BSD и пр.)
Опыт работы в команде, знакомство с процессами Code Review, CI/CD
Хорошее знание принципов работы компьютерных сетей и основных сетевых протоколов
Понимание организации и работы сетевого стека ОС
Опыт работы над сетевым стеком и компонентами для работы с сетью, в Linux или других ОС
Знание стандарта протокола TLS и опыт разработки приложений с поддержкой TLS
Знание стандартов connectivity-протоколов (Bluetooth, GPS, GSM и др.) и опыт работы с ними
Опыт кросплатформенной разработки
Хорошее знание POSIX
Знакомство с архитектурой операционных систем, внутренним устройством ядра ОС (управление памятью, межпроцессное взаимодействие, планирование задач, VFS)
Знание внутреннего устройства libc
Знание языка assembler по крайней мере для одной из архитектур (x86, ARM) на уровне, достаточном, для исследования объектного файла