Российский университет дружбы народов, ФГАОУ ВО
Ведущий программист
- SQL
- PostgreSQL
- PHP
- Golang
- React
- TypeScript
- GitLab CI
- Docker
- Redis
- RabbitMQ
- Linux
Обязанности:
-
Архитектура и разработка: Проектирование архитектуры высоконагруженных модулей ЛК, написание чистого, поддерживаемого кода на PHP (современные версии 8.x) и на Golang .
-
Работа с данными: Проектирование схем, написание сложных запросов, оптимизация и настройка производительности PostgreSQL (индексы, партиционирование, работа с JSONB).
-
Обеспечение стабильности продукта через автотесты: написание unit- и интеграционных тестов для критически важных модулей, поддержание и развитие тестовой базы, контроль процентного покрытия кода тестами.
-
Внедрение практик тестирования в командный процесс, код-ревью с фокусом на тестируемость кода.
-
Infrastructure & CI/CD: Полный цикл доставки кода до продакшена. Написание и поддержка пайплайнов в GitLab CI/CD, автоматизация сборки, тестирования и деплоя (бэкенд + фронтенд). Обеспечение zero-downtime деплоя.
-
Интеграция с фронтендом: Тесное взаимодействие с фронтенд-разработчиками (стек: React, TypeScript), ревью их кода, помощь в проектировании API.
-
Качество кода: Участие в код-ревью, поиск узких мест, рефакторинг легаси, написание тестов (unit/integration).
-
Команда: Наставничество и помощь в росте менее опытных коллег, участие в декомпозиции задач и оценке сроков.
Требования:
-
Уверенное владение PHP (ООП, SOLID, паттерны проектирования).
-
Знание PostgreSQL: умение оптимизировать запросы, работа с большими объемами данных, знание внутренностей СУБД.
-
Опыт разработки на Golang (или сильное желание и базовые знания для активного перехода на него).
-
Опыт настройки CI/CD в GitLab (написание пайплайнов, автоматизация деплоя).
-
Опыт написания автотестов (unit, integration) и понимание их роли в обеспечении стабильности продукта.
-
Понимание устройства современных SPA-приложений, опыт интеграции с React приложениями.
-
Опыт работы с очередями (RabbitMQ ) и in-memory БД (Redis / Memcached).
-
Опыт работы в Linux, понимание сети, умение искать проблемы в логах.
-
Знание Docker, оркестрации (Kubernetes / Swarm) будет плюсом.
-
Хорошие коммуникативные навыки и умение писать документацию