Senior QA (играющий тренер) - автоматизация и функциональное тестирование
Зарплата
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Изменить мир highload разработки сложнейшего продукта:
Мы ищем сильного QA Сеньора или Синьорину, автономного лидера, вместе с которым выведем проект на новый уровень качества разработки решений:
- внедрим практику Continuous Integration,
- придем к всеобъемлющему функциональному тестированию,
- максимальному покрытию авто-тестами
- и качественному нагрузочному тестированию.
Это сложные и приоритетные для нас задачи, связанные с развитием основы всей нашей рекламной сети — высоконагруженного рекламного сервера (adserver).
Ядро отвечает за обработку кликов и выдачу релевантных показов объявлений. Хитрая логика и настоящий highload: 10 000 запросов в секунду.
О проекте: международная рекламная система, запущенная в 2011 году.
Статистика, уже выросшая к моменту чтения на 30%: 250’000’000 показов баннеров и 110’000’000 показов попандеров ежедневно, более миллиарда кликов в месяц полученных с почти 30’000 площадок.
Заказчик пожелал остаться инкогнито, и я с удовольствием назову Вам компанию в любом формате личной коммуникации или в этом поможет легкий ресеч;-)
Профиль искомого идеала:
- авторитет и эксперт в тестировании,
- автономный лидер,
- инициативный и въедливый,
- умеющий подключать к решению задач других людей и брать на себя ответственность за принятие решений,
- любящий работать руками.
Почему это challenge и интересно:
- Система, по функциональности опережающая конкурирующие на мировом рынке аналоги (мы тщательно следим!);
- Highload: 800M запросов на показ рекламы (ad request) в сутки, 100+ серверов, 15K записей в базу в секунду, 1000M записей в базу в сутки, 120 стран охват по Geo, в 20 раз — рост нагрузки за последний год, в 10 раз — прогноз роста нагрузки на ближайший год;
- Самые прогрессивные на текущий момент технологии (например, мы уже пишем на Go практически всю нагруженную часть системы)
Технологии в проекте:
- Основная часть системы написана на PHP (70%)
- Самое нагруженное написано на Golang (сейчас 30% и соотношение быстро меняется)
- MySQL, Redis, Ngnix и прочая классика веб-разработки
- Git, Сonfluence, GitHub, Youtrack
Что делаем в команде разработки:
- Мы разрабатываем новый функционал, оптимизируем под постоянно растущие нагрузки работу ядра, и наш текущий бэклог содержит задачи на год разработки вперед, в связи с чем мы укрепляем команду и выводим задачу построения качественного тестирования в приоритет
- 80-90% текущих задач связаны с новой функциональностью и решаются на Go
- Остальное – на PHP
- Прямо сейчас мы играемся с Docker, планируем и плавно переходим к практике Сontinuous Integration
Какие профессиональные качества нам важны?
- Опыт тестирования web-приложений
- Опыт функционального тестирования сервера
- Опыт автоматизации тестирования сервера
- Хороший кругозор в области инструментов для автоматизации тестирования
- Глубокое понимание веб-технологий (HTTP, cookie, хотя бы один язык программирования и т.п.)
- Уверенное владение SQL необходимо
- Знание методологии тестирования
- Опыт ведения тестовой документации
- Умение провести качественное тестирование при наличии нечетких требований
- Умение взаимодействовать с разработчиками, работать автономно и в команде
Пригодятся, и совсем не критичны на входе:
- Опыт нагрузочного тестирования
- Опыт веб-разработки
- Опыт в обеспечении консистентности данных
- Свободный английский язык
- Опыт с Yandex.Tank / Apache Jmeter
Какие личные качества мы особенно ценим:
- Самостоятельность, проактивность, автономность, нацеленность на поиск лучшего решения из возможных
- Ориентированность на развитие, освоение новых технологий и поиск новых идей и решений
- Инициативность и энергичность, умение подключать и направлять к задачам других людей
О команде:
- Мы растим и усиливаем команду разработки ядра, сейчас у нас четверо сильных разработчиков, но отчаянно не хватает экспертизы в обеспечении качества
- Всего в проекте сейчас 50 IT-специалистов
- Мы поддерживаем идею об автономности и сотрудничестве
- Делегируем и доверяем решение разработчику в рамках решения конкретной задачи
Какие задачи есть для QA-Сокровища:
- Влияние на все вопросы тестирования в проекте
- Самому внедрить систему автоматизированного тестирования и построить поверх неё практику Continuous Integration в проекте (только ядро системы)
- Тестирование программных продуктов компании (только нагруженный рекламный сервер)
- Разработка тест-планов и тест-кейсов
- Работа со спецификациями
- Поддержка в актуальном состоянии тестовой документации
- Активное сотрудничество с командой разработки и архитектором системы
Текущее положение дел в тестировании:
- Тестирование сейчас исчерпывается частичным покрытием unit-тестами в разработке и нагрузочным тестированием
- Мы мечтаем делегировать вопросы тестирования и его развития из разработки в заботливые руки эксперта
- Приоритет функциональному тестированию перед нагрузочным (ему мы сможем даже частично научить)
- Два этапа: Skype-собеседование с QA-экспертом, Тимуром Хайруллиным https://ru.linkedin.com/pub/timur-hairullin/0/155/189/ru + 1-2 технические встречи с архитектором системы и с руководителем разработки, оффер.
- Мы знаем, кто нам нужен, и быстро принимаем решение.