📌 Как управлять тревогой в карьере. А не давать ей управлять вами → узнать

Senior PHP разработчик

Зарплата

от 300 000 до 400 000 ₽

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

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

Компания

Разрабатываем программное обеспечение для лидогенерации и fintech компаний

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

О компании и команде

В один из проектов компании ищем несколько сильных разработчиков.

Мы — рекламная сеть. Находимся посередине между вебмастерами, которые настраивают поток трафика и рекламодателями — в основном кредитными организациями, которым нужны лиды.

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

Сердце проекта — трекер, где мы обрабатываем ~ 300,000 кликов в день и очень заботимся о быстродействии и отказоустойчивости. Там за балансером несколько нод с nginx + php-fpm + Yii2, на нодах мы берём DTO из ближайшего slave Redis, по которой понимаем куда надо сделать редирект, делаем его, тушим процесс на fpm и ставим в очередь джобу на обработку клика.

Очереди разбирают уже соседние ноды, и в них мы пишем данные о событиях в PGClickHouse и уведомляем заинтересованные внутренние сервисы.

Для вебмастеров у нас есть личный кабинет, где они получают ссылки куда гнать трафик, смотрят стату и следят за балансом. Там Angular на фронте и API на Yii2.

Для управления данными есть админка, в ней общая статистика, управление вебами, офферами, бухгалтерия и ставки.

Мозг системы — ставки. Там мы управляем тем, может ли веб вообще лить на конкретный оффер, сколько денег ему платят за целевое действие, и всё это в разрезе по дням. Фронт системы ставок написан на Vue3 и интегрирован в стандартную CRUD админку.

Поскольку большая часть важнейших элементов системы у нас лишена веб-интерфейса, у нас довольно много unit-тестов и отдельный проект с приёмочными тестами на Python, который поддерживает сильная команда тестировщиков.

Ожидания от кандидата

Что нужно будет делать?

  • Разнос монолита на сервисы. Плавно выпиливать все описанные сервисы из монолитной репы, чтобы было проще с их поддержкой и деплоем. Сейчас ноды хоть и лежат отдельно, но Git репа одна. Поэтому придётся жонглировать архитектурой проекта, выделяя взаимозависимые узлы системы и делать зависимости односторонними;
  • Внедрять Continious Integration. Идём к тому, что по кнопке в Gitlab разворачивать сервис сразу после прогона unit и приёмочных тестов. Сейчас мы собираем релиз из задач, готовых по итогу спринта и делаем деплой в 1 день;
  • Оптимизировать работу с PG и CH. Мы подбираемся к моменту, когда стандартные инструменты начинают тормозить просто из-за объёма данных. А данных, хоть и с линейной скоростью, становится всё больше и больше;
  • Отвечать за процессы вокруг разработки. Помогать с выявлением бизнес-требований, грумингом и декомпозицией задач. Очень важно уметь вникнуть в суть бизнес-процесса и отыскать компромисс между нуждами менеджеров и технической сложностью решения;
  • Пилить CRUDы. И новые и делать удобнее старые, на которых завязаны бизнес-процессы.

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

Какие условия работы?

  • Вся работа — онлайн. В 11:00 МСК дейлики, где мы синхронизируемся по задачам, дальше полная свобода при условии синхронизации с остальными членами команды;
  • По оформлению и плюхам — официальное трудоустройство по ТК РФ. Квартальные премии до 50% оклада, ежеквартальная индексация, ДМС со стоматологией по всей территории РФ. При необходимости — любой рабочий ноут. Оплата профессиональных конференций;
  • Быстрый оффер — после отклика будет звонок-знакомство с HR и техническое собеседование с тим-лидом, где принимается решение с нашей стороны. Дальше только созвон-знакомство с CTO для обсуждения условий оффера.