Добавьте подходящих специалистов в список и оформите заявку для предварительного бронирования времени специалистов. После оформления заявки ваш персональный менеджер организует прохождение всех необходимых проверок с вами и каждым кандидатом из заявки. Специалист привлекается к проекту только после окончательного подтверждения его выхода с вашей стороны.
Павел - разработчик с более чем 3-х летним опытом коммерческой разработки. В основном он работал над одним проектом, участвуя в процессе масштабирования команды из 5 человек в 15, и понимает применимость различных практик и процессов в команде разного размера. Он умеет адаптироваться к изменяющимся процессам и спокойно подходит к задачам, требующим глубокой проработки.
Павел отличается спокойствием и усидчивостью, что позволяет ему эффективно работать над сложными и детализированными задачами. Кроме того, он легко находит общий язык с представителями бизнеса, что позволяет ему лучше понимать требования и ожидания заказчика. Предпочитая стабильный темп работы и избегая авралов, Павел обычно успешно укладывается в установленные сроки.
Проекты
(3 года 11 месяцев)
CRA (Cyber Risk Alliance)
Роль
Middle+ Symfony разработчик
Обязанности
Крупный портал из множества сайтов по теме кибербезопасности. У портала 150 тысяч уникальных пользователей в месяц, такое количество обусловлено узкой направленностью контента и продаваемых продуктов в сфере кибербезопасности.
Ссылки на сайты платформы, с которыми работала команда:
https://www.scmagazine.comhttps://identiverse.comhttps://www.cybersecuritycollaboration.comhttps://www.infosecworldusa.comhttps://www.cyberleadersunite.comhttps://www.channele2e.comhttps://www.msspalert.comhttps://golaunchtech.comhttps://techexpousa.comhttps://cybersecuritysummit.com
Архитектура: ключевыми элементами проекта являются frontend часть на основе Next.js и TypeScript, также часть закрытая от внешних пользователей внутренней сетью связанная с созданием и модерацией контента на базе Wordpress, и промежуточная часть на базе Symfony, осуществляющая хранение данных, обработку и поставку данных посредством GraphQL, аналитику пользователей, а также интеграцию со сторонними сервисами.
Задачи:
Миграция пользователей в ходе интегрирования сайтов в единый портал. Павел перенес аккаунты пользователей в существующую систему, при этом расширив SSO и User API для сохранения новых пользовательских данных и работы с ними. При этом были обработаны конфликтующие данные и добавлена дополнительная валидация полей для сохранения единой структуры данных.
Подготовка приложения к переносу на единый технологический стек проекта. Для последующего переноса symfony-приложения в общую инфраструктуру проекта (AWS + Docker), Павел добавил возможность развертывания локального окружения через Docker-контейнеры и настроил отправку логов приложения в сервис AWS CloudWatch для production- и staging-окружения.
Переработка системы интеграций бизнес-данных между различными сервисами. Павел структурировал процесс течения данных между third-party сервисами, разработав архитектуру этой части приложения и перенеся существующие интеграции на нее. Архитектура была разработана с учетом необходимости расширения существующих интеграций и добавления новых, в процессе были применены популярные паттерны проектирования.
Разработка API-клиентов third-party сервисов. Для взаимодействия с данными, хранящимися в различных сервисах, а также их обработки, Павел написал API-клиенты, реализующие основные операции с данными (просмотр, обновление, создание, удаление и т.д.).
Сервис сбора и пересылки данных аналитики. Павел написал выделенный микросервис на Symfony, предоставляющий REST API для сбора данных аналитики форм от Convertr, затем переформатирующий эти данные в формат, использующийся в API аналитики, и сохраняющий их туда.
Создание сервиса, управляющего интеграциями. Павел создал сервис, предоставляющий единую точку обращения ко всем уже написанным интеграциям, который позволил систематизировать подход к управлению интеграциями и “спрятать” легаси интеграции, написанные на Python и NodeJS за фасадом Symfony.
Создание новых интеграций. Павел расширил интеграционный сервис, добавляя новые источники данных в виде сторонних сервисов и создавая дополнительные правила обращения к ним.
Рефакторинг интеграционного кода для избавления от дублирования. Код консьюмеров для разных очередей был написан в спешке, “чтоб заработало”, и потому содержал много дублирования и мало структуры. Павел исправил это, произведя рефакторинг в соответствии с принципами ООП и SOLID.
Обновление API по запросам Frontend команды.
Написание Unit тестов для основного функционала.
Корпоративный сервис для сопоставления отработанных часов по проектным контрактам. Приложение позволяет руководителям следить за отработанными часами сотрудников. Часы автоматически подтягиваются с нескольких платформ по трекингу времени. Также сервис предоставляет возможность выгрузки репортов в разных форматах и сбор аналитики.
Задачи:
Была настроена интеграция с корпоративными мессенджерами для удобства пользования внутри компании, что позволило свести к минимуму ошибки в подсчете времени;
Написание сервера с нуля на фреймворке Symfony;
Реализация Frontend-а с нуля на связке React, Redux, Redux-Saga;
Интеграция со сторонними тасктрекинговыми площадками (Toggl, UpWork) для импорта отработанных разработчиками часов;
Интеграция корпоративного мессенджера с Google календарём, на платформе n8n.