Linux Kernel Developer / Инженер-программист (сопровождение СХД)
Описание
СХД TATLIN – это программно-аппаратные комплексы, спроектированные и произведенные в России. За достаточно короткое время СХД TATLIN составили достойную конкуренцию крупным мировым производителям СХД. Мы активно расширяем команду и в связи этим открываем поиск Linux Kernel Developer. Чем предстоит заниматься: • сопровождением высокопроизводительной подсистемы управления и защиты данных; • проведением расследований инцидентов, анализом отказов, поиском корневых причин (RCA); • исправлением ошибок по обращениям заказчиков и сервисных команд, выпуском хотфиксов; • исследованием и решением проблем, связанных с производительностью и стабильностью; • анализом поведения ОС Linux, настройкой и доработкой подсистем её ядра; • разработкой скриптов автоматизации, диагностических утилит и мониторинга; • экспертной поддержкой: консультированием L3, документированием RCA, менторством, улучшением ремонтопригодности системы. Мы ожидаем от будущего члена команды: • уверенное знание Linux: внутреннее устройство, POSIX API, системные вызовы, управление памятью, процессы и потоки, базовые сервисы, файловые системы, инструменты отладки, работа с ядром и модулями; • отличное знание языка С; • понимание особенностей работы многопоточного и конкурентного кода; • опыт анализа производительности отдельных приложений и системы в целом; • знание классических алгоритмов и структур данных, принципов организации и обработки данных в памяти/на диске; • знание сетей и протоколов передачи данных (TCP/IP, маршрутизация, QoS, диагностика сетевого стека); • владение Python и Bash для написания скриптов автоматизации, диагностики и взаимодействия с инфраструктурой; • способность самостоятельно разбираться в новых областях, умение быстро погружаться в чужой код и работать с большой кодовой базой и кросс-зависимостями; • готовность к дежурствам с упором на анализ, профилактику и улучшение процессов, а не только на оперативное восстановление. Будет плюсом: • опыт разработки модулей ядра или опыт системного программирования; • опыт разработки высоконагруженных систем; • знакомы с блочной подсистемой ядра; • знакомы с особенностями серверного оборудования и аппаратными подсистемами: CPU/RAM, NVMe/SATA/SCSI, RAID/HBA, PCIe, interconnects (RDMA/FCoE/Ethernet); • опыт работы с диагностическими инструментами глубокого анализа.