💰 Зарплаты в IT в первой половине 2024: по городам, специализациям, языкам и компаниям → подробнее

Senior разработчик на Python/Django в отдел QA

Зарплата

от 90 000 ₽

Местоположение и тип занятости

Полный рабочий деньМожно удаленно

Компания

Мы делаем инструменты мотивации покупателей

Описание вакансии

Условия работы

Наша небольшая компания перешла на стадию, когда индивидуальных усилий разработчиков по улучшению качества отдельных продуктов и их покрытия тестами недостаточно. Требуется системный подход к обеспечению качества сервиса в целом, повышению эффективности QA отдела и систематизации подхода к тестированию, совершенствованию инфраструктуры и инструментария.

О вас:

Вы - опытный разработчик, умеющий работать с разными проектами и системами. Вы неоднократно выпускали в мир качественные релизы продуктов написанных на Python/Django. Linux, ssh и командная строка для вас - привычные инструменты. Вы не боитесь вносить правки в код приложений, для того чтобы помочь выпустить новую функциональность. Вы предпочитаете реализовывать инфраструктурные изменения в системе управления конфигурацией, вместо того чтобы делать это вручную. Вы любите автоматизировать операции и разрабатывать инструменты для повышения эффективности команды.

Вы умеете конструктивно общаться с людьми, ищете обратную связь, учитываете чужой опыт и готовы делиться своим. То, что вы пишете текстом, отличается тактичностью и грамотностью, обычно вызывает мало вопросов, понимается однозначно и полезно тем кто с вами работает. Если вы ушли в отпуск, то ваши коллеги могут легко найти описание созданных вами инструментов и процессов и успешно воспользоваться ими. Вы без проблем читаете английскую документацию и можете отправить Issue или PR на Github в используемый вами Open Source проект.

Вы можете построить полный тест-план проекта и выбрать требуемые для конкретного контекста способы тестирования (модульное, интеграционное, нагрузочное, ручное и др.). Вы способны выявить пробелы или дублирование в наборах тестов и оптимизировать процесс в целом. Умеете давать конструктивную обратную связь по чеклистам и автоматизированным тест-кейсам, обучать коллег лучшим практикам, выявлять хорошие решения и унифицировать их между проектами.

Вы не представляете процесс разработки без средств Continuous Integration и автоматизированной обратной связи разработчикам по обнаруженным дефектам. Умеете готовить повторяемые тестовые окружения, собирать code coverage и метрики из приложений.

Вы умеете создавать инструменты и инфраструктуру для нагрузочного тестирования веб-проектов, для вас не является проблемой найти причину низкой производительности в коде проекта и помочь разработчику её исправить. Совсем здорово, если вы умеете делать нагрузочное тестирование одним из этапов автоматизированного процесса контроля качества.

Вы понимаете, что автоматическое тестирование не бесплатно и с одной стороны защищает от ошибок при рефакторинге и развитии, с другой - удорожает и замедляет реализацию больших изменений. Вы знаете когда нужно ограничиться минимумом тестов, а когда нужно обеспечить послойное тестирование всех уровней и точек взаимодействия. Вы умеете управлять техническим долгом в автоматизации тестирования и понимаете когда его допустимо создать, а когда необходимо выплатить (и умеете учитывать это в личных планах и планах компании).

Вы умеете управлять негативными эффектами, возникающими при росте количества автоматических тестов (производительность и время выполнения, экспоненциальное увеличение количества тестов, количество требуемых для их выполнения ресурсов, нестабильные тесты). Вы применяете и обучаете коллег практикам, помогающим уменьшить количество кода выполняемого в конкретном тесте и уменьшению количества причин по которым он может не пройти. Вы знаете как тестировать взаимодействие между разными системами.

Вы достаточно терпеливы и вместо "революции" предпочитаете эволюционный подход. При планировании изменений вы знаете, какие из них дадут наибольший эффект при прочих равных и приоритезируете работу соответствующим образом. Умеете находить баланс между требованиями к проекту и технологическими возможностями, между желанием использовать последние технологии и стабильностью проекта а также его долгосрочной поддержкой. Вы способны самостоятельно решать крупные задачи, имеете высокий уровень личной мотивации, можете самостоятельно управлять собственным временем и фокусироваться на задачах. Вы отличаетесь вниманием к деталям и эффективно решаете проблемы.

Плюсами будут навыки работы со средствами автоматизации тестирования веб-интерфейсов (PhantomJS, Selenium и др.), а также сборки мобильных приложений (Maven/Gradle, Xcode) и автоматической выкладки бета-версий для внутреннего тестирования (Fastlane/Fabric).

Мы - стартап, поэтому у вас будет возможность получить опыт работы с разными проектами и задачами:

  • Поработать в роли релиз-менеджера для того чтобы лучше понять возникающие при этом задачи и ограничения, а затем предложить и реализовать инструменты автоматизации процесса
  • Идентифицировать и оптимизировать участки кода с низкой производительностью либо неэффективным использованием базы данных
  • Написать инструмент подготовки наборов данных для тестовых окружений
  • Создать фреймворк или набор базовых классов для упрощения написания автотестов
  • Внедрить инструменты мониторинга боевого кода, непрерывного измерения производительности, сбора и отображения рантайм-ошибок

Наши технологии:

Большая часть наших проектов использует Python + Django а также Django Rest Framework. Для отслеживания задач мы используем Redmine и Rational Plan, документацию пишем в Google Docs, ReST/Markdown (в зависимости от проекта). Разработку ведём в системе контроля версий Mercurial. Есть сервер Jenkins, система управления конфигурацией серверов SaltStack, несколько тестовых серверных площадок и деплой с помощью Fabric. Для ряда задач используем AWS. Основной коммуникационной средой является Slack, к которому подключены различные интеграции. Для голосовых коммуникаций используем Google Hangouts, митинги, собрания и отпуска синхронизируем в Google Calendar.

Условия работы:

Удалённая. Рабочий день с 9:30 до 17:30 KRAT (по договорённости возможен индивидуальный график). Ежедневный чекин в Slack по утрам (9:30 KRAT) и один крупный митинг в пятницу (для коллег из Кемерово предпочтительно очное собрание). Сотрудники компании находятся в городах Кемерово, Москва, Новгород, Новосибирск, Санкт-Петербург.

Очень желательно находиться в часовом поясе от MSK+2 до MSK+6.

Дополнительные инструкции

Мы надеемся, что вы внимательно прочитали описание вакансии и примерили её на себя. Чтобы пройти тест на внимательность, начните ваш отклик на вакансию с фразы “Здравствуйте, меня зовут <ИМЯ>, мой часовой пояс <ЧАСОВОЙ ПОЯС>".

Пожалуйста, не пишите нам если вы представитель компании-аутсорсера, заинтересованы в частичной занятости или работаете на проектной основе.