Point your AI agent at freehire and let it find you a job.

Get the CLI →

ГКУ Инфогород

NewBe an early applicant

PHP-разработчик

Discussion

Департамент информационных технологий создает и развивает цифровые проекты, которые делают столицу комфортнее, а жизнь горожан — удобнее и мобильнее. Для системы управления столицей технологии — это незаменимый инструмент, который применяется во всех отраслях экономики, городского хозяйства и социальной сферы. А для миллионов горожан — повседневный помощник, который позволяет получать сотни услуг и сервисов в удобном цифровом формате в режиме 24/7.

МосБилет обеспечивает городу единую управляемую билетную экосистему для культурной отрасли: от покупки на сайте bilet.mos.ru и использования билета до сервисного сопровождения и отраслевой аналитики.

Что нужно делать:

  • переносить backend-сервисы и их базы из инфраструктуры портала в инфраструктуру Мосбилета: миграция данных, перенастройка конфигураций, проверка сохранности связей
  • разрывать зависимости от инфраструктуры сборки подрядчика: сейчас все PHP-сервисы собираются из репозитория пакетов подрядчика: нужно поднять собственный Satis и вычистить зашитые в пакеты данные
  • настраивать мост между нашей шиной RabbitMQ и шиной портала: есть внешние потребители, которые остаются на стороне портала, им нужно доставлять события с фильтрацией
  • переводить сервисы на собственный контур наблюдаемости: Sentry, Graylog, Grafana, Rancher
  • работать с миграцией данных: центральный сервис контура написан на PHP 7.4 и Yii2 с компонентами Symfony использует одну базу MySQL ещё с двумя сервисами, эти данные нужно разделить. Это главная архитектурная задача, и решать её вам
  • устранять последствия связанности: импорт из внешней билетной системы по таймеру генерирует тысячи операций записи, что может приводить перегрузкам БД по вводу-выводу
  • развивать сервисы контура на Symfony 6.4 и 7.4 с API Platform, поддерживать REST-контракты и Swagger по каждому сервису
  • поддерживать машину состояний редакционного конвейера
  • вести интеграции с внешней билетной системой, файловым хранилищем, поисковым индексом города, системой авторизации и контуром лояльности
  • поднимать замороженные интерфейсы, которые не обновлялись долгое время
  • покрывать тестами изменяемую бизнес-логику, поддерживать статический анализ
  • проводить код-ревью, в том числе кода внешних подрядных команд
  • разбирать продуктивные инциденты до корневой причины и внедрять меры против повторения

Какие знания и навыки важны:

  • отвечали за работающий сервис в продуктиве, а не только за задачи в спринт
  • был опыт принятия системы, автора которой рядом не было — от другой команды, от ушедшего подрядчика, из легаси
  • опыт изменений, которые нельзя было выкатить одним куском: миграция базы, переезд между средами или инфраструктурами, распил монолита, изменение контракта API с внешними потребителями
  • Symfony в бою — проектирование и сопровождение сервиса, а не отдельные задачи. Версии от 5.4 и выше, текущие в проекте 6.4 и 7.4
  • реляционная база на уровне «почему медленно» — PostgreSQL или MySQL: читаете планы запросов, работаете с индексами, проектируете схему

Будет плюсом:

  • Yii2 в боевом опыте. Центральный сервис контура на нём. Опыт в нем будет большим плюсом
  • опыт в билетных, платёжных, бронирующих или иных транзакционных системах: возврат, сверка, синхронизация статусов с внешней системой, пиковая нагрузка при открытии продаж
  • вы уже переносили работающий сервис вместе с базой между инфраструктурами и знаете, где это обычно ломается
  • API Platform — у нас версии 2.6 и 4.1, и есть задача перевода со старой на новую
  • расшивка сервисов, сидящих на общей базе, с миграцией данных и сохранением совместимости на время перехода
  • проектирование и сопровождение машин состояний с ролевой моделью
  • опыт работы приёмщиком по отношению к внешней команде разработки: ревью чужого кода, замечания, приёмка
  • государственные информационные системы, ГОСТ-документация, аттестованные контуры
  • Kubernetes и Rancher на уровне пользователя: понимать, что такое реплики, лимиты и автомасштабирование, и как это влияет на код
  • Graylog, Sentry, Jaeger, Swagger/OpenAPI, PHPStan или Psalm
  • наставничество, технические интервью, ведение код-ревью

Что предлагаем:

  • уютный офис в самом центре города (сейчас м. Таганская, но в скором времени будет м. Смоленская), где есть зоны для настольных игр, спортивные тренажеры, массажные кресла, своя кухня
  • мягкий график - старт работы варьируется с 9 до 11, 5/2, гибридный формат (3 дня в офисе)
  • работу в молодом, потрясающе дружном и профессиональном коллективе, где нет бюрократии, но есть мощное комьюнити по самым разным направлениям — от спорта до творчества/благотворительности
  • возможность повышения квалификации – внутреннее/внешнее обучение, наставничество внутри команды, онлайн библиотека, планирование индивидуального карьерного трека
  • социальный пакет — питание в офисе (молочная каша по утрам), материальная помощь в случае важных событий, скидки от партнеров на ДМС, связь, развлечения, подарки, спорт и т. д.
  • льготные преимущества аккредитованной IT-компании
  • ежегодное финансовое стимулирование по результатам работы

Стань частью команды ДИТ Москвы и воплощай в жизнь цифровые проекты столицы!

Skills

See also

Software Engineering jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available