Обязанности:
1. Развитие проекта и архитектура:
Участие в проектировании и реализации процесса декомпозиции монолитного приложения (Yii2) на микросервисную архитектуру;
Разработка нового бизнес-функционала и интеграций с внешними платежными системами, банками и скоринговыми сервисами;
Проектирование API (REST/RPC) и контрактов взаимодействия между микросервисами.
2. Поддержка Legacy и оптимизация:
Сопровождение и поддержка существующего Legacy-кода, обеспечение его стабильной работы;
Глубокий рефакторинг и оптимизация производительности: от уровня PHP-кода до оптимизации сложных SQL-запросов и индексов в БД;
Выявление «узких мест» (bottlenecks) и их устранение.
3. Инцидент-менеджмент и надежность:
4. Работа с инфраструктурой и данными:
Требования:
1. PHP & Framework: уверенное знание PHP 7.4/8.x, глубокий опыт работы с Yii2 (понимание его жизненного цикла, событий, хуков, работы с БД);
2. Базы данных:
Отличное знание реляционных БД (MySQL, PostgreSQL): понимание ACID, транзакций, блокировок, оптимизация запросов, работа с индексами;
3. Архитектура: понимание принципов микросервисной архитектуры, паттернов (Saga, Outbox, CQRS — будет плюсом), опыт разделения монолита;
4. Очереди и кэширование: уверенная работа с Redis, опыт проектирования асинхронных процессов через очереди (RabbitMQ, Kafka или Redis Queues);
5. Инфраструктура: уверенное использование Docker. Базовое понимание K3s (Kubernetes) — умение читать манифесты, смотреть логи подов, понимать принципы оркестрации;
6. Информационная безопасность:
7. Будет значимым преимуществом:
8. Техническая ответственность (Ownership): способность брать на себя полную ответственность за реализацию фичи или модуля «под ключ» — от уточнения требований у бизнеса до деплоя и мониторинга в продакшене;
9. Навыки коммуникации: умение аргументированно и конструктивно отстаивать свои технические решения, а также принимать чужую аргументацию, опираясь на данные, а не на эмоции;
10. Внимательность к деталям и педантичность (в финтехе цена ошибки крайне высока);
11. Умение работать с чужим кодом и документировать свои решения;
12. Стрессоустойчивость и системный подход при разборе инцидентов.
Условия: