Обязанности:
•Работать с PostgreSQL: проектировать структуру данных, писать и оптимизировать запросы, работать с индексами, транзакциями и миграциями.
•Разбирать и устранять ошибки и инциденты в работающем продукте, искать причины проблем, а не только устранять их последствия.
•Покрывать критически важную бизнес-логику автоматическими тестами.
•Проводить code review и участвовать в обсуждении технических решений.
•Поддерживать качество существующего кода, заниматься рефакторингом и постепенно сокращать технический долг.
•Выпускать стабильные и проверенные обновления в тестовый и production-контуры, учитывать обратную совместимость и возможность отката релиза.
•Декомпозировать требования на технические задачи, оценивать сроки и самостоятельно вести задачи от постановки до выхода в production.
•Поддерживать техническую документацию по реализованным решениям и API.
Требования:
•Коммерческий опыт разработки на PHP от 3 лет.
•Уверенный опыт работы с Laravel.
•Хорошее понимание внутреннего устройства Laravel: Service Container, middleware, events/listeners, jobs, queues, validation, authentication/authorization и lifecycle приложения.
•Уверенная работа с Eloquent ORM, понимание его возможностей и ограничений.
•Опыт проектирования и разработки REST API.
•Понимание принципов построения клиент-серверных приложений.
•Понимание принципов stateful/stateless-архитектуры и особенностей long-running процессов.
•Практический опыт работы с очередями и Redis.
•Уверенное знание реляционных баз данных, желательно PostgreSQL: JOIN, индексы, транзакции, блокировки, планы выполнения запросов и оптимизация запросов.
•Понимание проблем конкурентного доступа к данным и способов их решения.
•Опыт работы с Git, Docker и Linux.
•Опыт работы с WebSocket или другими механизмами realtime-взаимодействия.
•Умение читать и разбираться в существующем коде, в том числе без полной документации.
•Опыт написания автоматических тестов.
•Понимание принципов SOLID, основных паттернов проектирования и умение применять их без избыточного усложнения архитектуры.
•Умение самостоятельно оценивать задачи, выявлять технические риски и доводить работу до результата.
•Опыт использования AI-инструментов в разработке и понимание того, что сгенерированный код необходимо проверять, тестировать и адаптировать под архитектуру проекта.
Условия:
•Полностью удалённая работа.
•График 5/2 с понятным рабочим временем.
•Работа над действующим продуктом с реальными пользователями и реальными техническими задачами.
•Возможность напрямую влиять на технические решения и развитие проекта.
•Минимум бюрократии и возможность обсуждать технические решения внутри команды.
•Долгосрочное сотрудничество.
•Уровень вознаграждения обсуждается индивидуально в зависимости от опыта и технического уровня кандидата.