Мы IT-FINANCE - команда крутых специалистов, которые разрабатывают программное обеспечение для лидогенерации и fintech компаний.
Мы — CPA сеть. Находимся посередине между вебмастерами, которые настраивают поток трафика, и рекламодателями — в основном кредитными организациями, которым нужны лиды.
Наша задача — принимать поток трафика от вебмастеров, быстро редиректить его рекламодателям, а потом принимать от последних постбеки о целевых действиях. Вместе с этим мы храним статистику, управляем взаиморасчётами и предоставляем услуги как для обоих сторон.
Сердце проекта — трекер, где мы обрабатываем ~ 300,000 кликов в день и очень заботимся о быстродействии и отказоустойчивости. Там за балансером несколько нод с nginx + php-fpm + Yii2, на нодах мы берём DTOшку из ближайшего слейва Redis, по которой понимаем куда надо сделать редирект, делаем его, тушим процесс на fpm и ставим в очередь джобу на обработку клика.
Очереди разбирают уже соседние ноды, и в них мы пишем данные о событиях в PG, ClickHouse и уведомляем заинтересованные внутренние сервисы.
Для вебмастеров у нас есть личный кабинет, где они получают ссылки куда гнать трафик, смотрят стату и следят за балансом. Там Vue3 на фронте и API на Yii2. Для управления данными есть админка, в ней общая статистика, управление вебами офферами, бухгалтерия и ставки.
Мозг системы — ставки. Там мы управляем тем, может ли веб вообще лить на конкретный оффер, сколько денег ему платят за целевое действие, и всё это в разрезе по минутам. Фронт системы ставок написан на Vue3 и интегрирован в стандартную CRUD админку.
Поскольку большая часть важнейших элементов системы у нас лишена веб-интерфейса, у нас довольно много unit-тестов и отдельный проект с приёмочными тестами на Python, который поддерживает сильная команда тестировщиков.
Что требуется знать и уметь?
Глубокое понимание PHP 7.4–8.x, понимание внутренних изменений между версиями (JIT, типизация, атрибуты, readonly, enum).
Навыки диагностики проблем на уровне стека nginx + php-fpm + docker. Понимание и практика с ELK + Grafana.
Опыт разработки на Symfony последних версий и понимание фреймворка на уровне внутренностей: autoload, error handler, kernel.
Умение отделять доменную логику от фреймворка и инфраструктуры. Проектировать архитектуру так, чтобы middle-разработчики могли безопасно расширять систему, не ломая ядро.
Базовое понимание принципов работы реляционных и колоночных баз данных, различий между OLTP и OLAP и их влияния на архитектуру и производительность системы.
Умение аргументировать архитектуру и делать систему проще, а не сложнее со временем.
Что нужно будет делать?
— Осуществить переход php7.4 -> 8.2 -> 8.5, а следом Yii2 -> Symfony. Сначала для побочных (API), а потом для ключевых и высоконагруженных модулей.
— Несколько ключевых модулей системы требуют рефакторинга, чтобы middle-разработчики могли добавлять новый функционал в систему быстрее, безопаснее, и не трогая ядра компонентов.
— Плавно переводить архитектуру приложения в Kubernetes. Сейчас у нас набор VM, которые изолированы друг от друга сетями. Чтобы деплой был проще, быстрее и безопаснее и для обеспечения отказоустойчивости — мы едем в Кубы.
— Умение писать код так, чтобы поддерживать низкий Latency при высоком RPS и низким latency (p99).
— Оптимизировать работу c PG и CH. Мы подбираемся к моменту, когда стандартные инструменты начинают тормозить просто из-за объёма данных. А данных, хоть и с линейной скоростью, становится всё больше и больше.
Условия:
Полностью удаленная работа (нам не важно в каком городе или в какой стране ты будешь находиться);
Гибкий график, а также у нас стандартная пятидневная рабочая неделя;
Корпоративное оборудование;
ДМС со стоматологией и телемедициной, профессиональной психологической поддержкой и др.;
Компенсация внешнего обучения за счет компании;
Москва
Не указана
Системы и Технологии в Логистике
Москва
до 300000 RUR