Описание
Департамент информационных технологий Москвы создает и развивает цифровые проекты, которые делают столицу комфортнее, а жизнь горожан — удобнее и мобильнее. Для системы управления столицей технологии — это незаменимый инструмент, который применяется во всех отраслях экономики, городского хозяйства и социальной сферы. А для миллионов горожан — повседневный помощник, который позволяет получать сотни услуг и сервисов в удобном цифровом формате в режиме 24/7.
Задачи
•Развивать серверную часть действующих подсистем на PHP и Symfony
•Проектировать и реализовывать доменную модель под конкурсные процедуры, реестры и волонтёрские сценарии
•Работать с PostgreSQL: схема данных, миграции, оптимизация запросов на реальных объёмах
•Развивать поисковые сценарии на Manticore Search
•Реализовывать формирование печатных форм и выгрузок документов
•Разрабатывать и сопровождать обмен с внешними государственными системами по web-сервисам и REST API, в форматах XML и JSON
•Реализовывать сценарии электронной подписи и передачи документов на архивное хранение
•Обеспечивать устойчивость обмена: повторные попытки, обработка недоступности внешней стороны, воспроизводимая диагностика
•Работать по стандарту написания и оформления кода, проходить и давать ревью по нему
•Покрывать логику unit и интеграционными тестами в объёме, заданном критериями готовности (определяется в DoD по каждой задаче)
•Участвовать в разборе инцидентов по своим компонентам и в работе с реестром технического долга
•Понимать жизненный цикл сборки: читать логи пайплайна, знать стратегию миграций при деплое и принципы отката
•Разработать стандарт написания и оформления кода по бэкенду, согласовать его с руководителем технического блока и поддерживать в актуальном состоянии по мере развития системы и процессов
•Вести ревью по этому стандарту и снимать разногласия по нему внутри направления
•Участвовать экспертно в оценке трудозатрат и приёмке результатов подрядчика — с той же меркой, что применяется к собственному коду
•Держать техническую картину бэкенда и интеграционного контура по всем подсистемам, а не только по своим задачам, и помогать второму разработчику войти в систему
Требования
•Разработка на PHP от 5 лет
•PHP 8 и практический опыт Symfony
•PostgreSQL: проектирование схемы, индексы, разбор и оптимизация медленных запросов
•Проектирование и разработка REST API, работа с чужими API по внешней спецификации
•Форматы обмена XML и JSON, включая разбор и валидацию по схеме
•Docker: локальная среда и понимание того, как приложение живёт в контейнере
•Git и работа в командной модели ветвления
•Автоматизированное тестирование серверного кода
•Понимание безопасности веб-приложений: аутентификация, авторизация, инъекции, обработка пользовательского ввода
•Практика ревью чужого кода: не только получать замечания, но и давать их, и доводить разногласие до решения
•Опыт написания или ведения письменных стандартов кода — не только работы по чужим правилам
•Опыт интеграций с внешними системами по чужой спецификации, где на протокол нельзя повлиять: государственные информационные системы, банковские или страховые API, 1С, платёжные шлюзы
•Опыт наставничества: ввод в систему нового разработчика, разбор чужих решений
Условия
•Рыночная зарплата и премии
•Драйвовые задачи и ресурсы для их реализации
•Гибридный режим работы: можно работать удаленно или в современном офисе в центре
•Преимущества аккредитованной IT-компании
•Материальная помощь в случае важных событий в жизни
•Корпоративное обучение у топовых провайдеров и доступ к онлайн-библиотеке
•Корпоративные тренировки и спортивные активности — бег, футбол, волейбол, баскетбол, теннис и другие
•Комьюнити по интересам
•Скидки от партнеров на ДМС, связь, развлечения, подарки, спорт и т.д.