Senior Python developer
Москва
Ключевые навыки
Компания Network Optix (https://www.networkoptix.com/) ищет Senior Python Developer в команду автоматизированного функционального и интеграционного тестирования нашего продукта.
Продукт — распределенная кроссплатформенная система для видеонаблюдения. Требования к качеству высоки, поэтому у нас есть развитый инструментарий для автоматизированного тестирования, расширять который — наша основная задача.
Мы уже многого добились, и наши инструменты позволяют в полностью автоматическим режиме:
-
Поднимать виртуальные машины с Windows и Ubuntu в VirtualBox и KVM/QEMU;
-
Объединять их в плоские и разноуровневые сети;
-
Настраивать ОС через WinRM/WSMan/WMI и SSH;
-
Добавлять диски и настраивать удаленный доступ к папкам по SMB и iSCSI;
-
Запускать виртуальные камеры и подключать физические;
-
Устанавливать и настраивать сам продукт, объединяя его инстансы в системы;
-
Анализировать видео и аудио с помощью ffprobe;
-
Собирать логи продукта, системы и сервисов, гипервизора и самих тестов, дамп трафика, бэктрейсы продукта и другие артефакты.
Как мы работаем:
-
Разрабатываем на Python 3.7;
-
Используем pytest в качестве тестового фреймворка;
-
Храним код в Git/Gerrit;
-
Проводим ревью в Gerrit с пре-коммитным прогоном flake8, smoke-тестов;
-
Автоматизируем запуск тестов на Jenkins;
-
Проводим 15-минутные ежедневные митинги;
-
Не приветствуем переработок.
Наши ценности:
-
Взаимопомощь важнее личной производительности;
-
Надежный и понятный код важнее скорости разработки;
-
Стабильно работающий код важнее новой функциональности.
Сотни тестов регулярно запускаются на разных ОС. Но впереди еще много работы:
-
Большой и постоянно пополняющийся бэклог на автоматизацию;
-
Повышение надежности и стабильности тестов: решаем проблемы, даже если они Трудно воспроизводятся, изучаем собранные логи, дампы и бэктрейсы, используем strace и procmon, вчитываемся в документацию и мыслим логически;
-
Оптимизация и параллелизация запуска тестов: хотим чаще запускать и быстрее получать результаты;
-
Тестирование больших систем (от 100 серверов);
-
Тестирование облачного решения для нашего продукта;
-
Создание удобных инструментов для разработчиков продукта, QA и саппорта.
Мы ожидаем от кандидата:
-
Хорошего знания Python;
-
От 3 лет опыта коммерческой разработки;
-
Общих знаний computer science.
Будем рады, если у кандидата будет опыт:
-
Автоматизации и администрирования Linux или Windows;
-
Траблшутинга по логам, бэктрейсам и дампам трафика;
-
Сетевого программирования;
-
Системного программирования.
О нашей жизни:
-
Мы располагаемся в пешей доступности от метро Бауманская, Комсомольская, Красные ворота.
-
Комнаты по 3-6 человек.
-
2 кухни, свежеобжаренный кофе, еда в холодильниках, овощи и фрукты.
-
Спортзона, настольный теннис, душ.
-
Настольные игры по четвергам.
-
Занятия по английскому языку.