Performance Engineer / Инженер по производительности (TATLIN.UNIFIED)
Описание
Мы продолжаем активно расти и расширять команду, в связи с этим открываем поиск Performance Engineer в команду разработки системы хранения данных TATLIN.UNIFIED Команда отвечает за производительность продукта, а также помогает разработчикам искать узкие места и оптимальную конфигурацию СХД. Основная задача - это исследование поведения СХД при различных типах нагрузки, поиск узких мест, рекомендации по оптимизации. Чем предстоит заниматься: разработкой тестовых методик - с целью моделирования/воспроизведения типичных пользовательских нагрузок; составлять сценарии тестирования новой функциональности , проводить сравнительные бенчмаркинги; очень большая часть нашей работы - это оценка влияния новой функциональности в релизах на производительность; проводить исследования компонентов наших СХД: как аппаратных, так и программных; участвовать в поиске корневых причин (RCA); взаимодействовать с командами разработки и тестирования, с командой поддержки (L3) для локализации и устранения проблем производительности; необходимо документирование своей работы , очень часто исследовательская работа требует написания статей в нашу базу знаний; разумеется, постоянно учиться, повышать технические компетенции свои и коллег. Что нам важно: Мы рассматриваем кандидатов разного уровня — как специалистов с опытом работы с системами хранения данных и высоконагруженными системами, так и инженеров с хорошей технической базой и сильным интересом к performance engineering, которые хотят развиваться в этой области. Для нас важны инженерное мышление, интерес к устройству систем и желание разбираться в причинах проблем производительности. Требуемый опыт в одной или нескольких областях: работа с Linux/Unix обязательна; опыт диагностики и анализа производительности систем; работа с инструментами анализа и профилирования: perf, sysstat, sar, tcpdump, iostat, iperf и др.; использование инструментов генерации нагрузки: fio, Vdbench, sysbench и др.; понимание принципов работы высоконагруженных систем и поиска узких мест; базовые навыки автоматизации и написания скриптов (bash, python или аналогичные языки); опыт разработки на C или C++ будет преимуществом; понимание архитектуры современных серверных систем и компьютерного железа (CPU, память, диски, сети); понимание принципов работы Linux: процессы, память, ввод-вывод, файловые системы; знание сетевых технологий и диагностики: TCP/IP, UDP, VLAN, LACP, QoS, Jumbo Frames, маршрутизация и сетевые утилиты; понимание принципов работы систем хранения данных: RAID, кеширование, алгоритмы управления вводом-выводом; знание или интерес к протоколам хранения: iSCSI, FC, NVMe-oF, NFS, SMB; общее понимание смежных ИТ-областей: виртуализация (VMware, KVM), контейнеризация (Docker, Kubernetes), СУБД, серверные архитектуры и сетевые топологии, базовые знания статистики и анализа данных. Особенно ценим: любопытство и желание разбираться в устройстве систем; аналитический склад ума и системное мышление; умение анализировать логи, метрики и поведение системы под нагрузкой; способность самостоятельно исследовать проблемы и предлагать решения; грамотную техническую коммуникацию и умение формулировать выводы.