Должность: преподаватель-тренер эксперт по разработке учебных курсов и проведению занятий по сетевому стеку Linux.
Цель:
Проведение специализированных тренингов и курсов по разработке драйверов и низкоуровневому программированию для опытных разработчиков, ориентированных на углубленное изучение архитектуры Linux и аппаратных технологий.
Описание позиции:
Ищем опытного специалиста, способного самостоятельно разработать и успешно реализовать углубленный образовательный курс по изучению сетевого стека Linux версии ядра 5+. Курс предполагает глубокую теоретическую подготовку слушателей и активное погружение в практические аспекты разработки сетевых модулей и приложений.
Цель курса — обеспечить глубокое понимание механизмов работы сетевого стека Linux, включая обработку пакетов, работу с интерфейсами и устройствами ввода-вывода, диагностику и оптимизацию производительности сети, разработку собственных драйверов устройств и использование продвинутых технологий eBPF, XDP, NAPI, Netlink и др.
Данное обучение будет ориентировано на специалистов уровня middle/senior, обладающих уверенными знаниями Linux и желающих развить компетенции в области сетевых решений, диагностики, оптимизации и написания эффективных драйверов.
Обязанности:
- Самостоятельная разработка подробной программы учебного курса согласно предоставленному плану.
- Проведение лекций и практических занятий с акцентом на решение реальных задач, связанных с разработкой сетевых компонентов и диагностикой аппаратных проблем.
- Обеспечение глубокой проработки темы сетевого устройства на шине PCI-E, написание драйвера и детальное изучение механизма Direct Memory Access (DMA).
- Подготовка материалов, методической документации и примеров реализации для участников курса.
- Консультация слушателей по возникающим вопросам, помощь в диагностике сложных ситуаций, контроль усвоения материала.
- Регулярное обновление содержания курса, адаптация его к изменениям версий ядра Linux и новейшим технологиям.
Требования:
- Опыт программирования на C, Assembler и глубокие знания архитектуры Linux ядро 5.x.
- Отличное владение технологиями сетевого стека Linux: Packet Walkthrough, eBPF/XDP, NAPI, IRQ, Netlink, Network namespaces, виртуализацией интерфейсов, callback-ами netdev, virtual file systems (vfs, procfs, sysfs), Device Tree.
- Понимание принципов взаимодействия kernel-space/user-space, структуры ядра Linux, механизмов синхронизации потоков, memory management, tasklet, softirq, work queue.
- Умение писать эффективные драйверы устройств (char drivers, pci-e devices, DMA), понимать устройство шины PCI-E и особенности работы с различными стандартными интерфейсами (GPIO, SPI, I2C, UART и др.).
- Практический опыт разработки, тестирования и отладки сетевых приложений и драйверов.
- Способность ясно выражать мысли устно и письменно, умение вести лекции и семинары на высоком профессиональном уровне.
- Желательно наличие опыта преподавания технических дисциплин и подготовки обучающихся к решению реальных производственных задач.
Условия:
- Гибкий график проведения занятий, возможность удаленной работы.
- Возможность постоянного повышения квалификации благодаря участию в крупных проектах, конференциях и мастер-классах.
- Интересная работа над сложными техническими задачами, общение с профессиональными специалистами отрасли.
- Конкурентоспособная заработная плата, зависящая от вашего опыта и уровня владения темой.