E-commerce & Retail
EdTech
Logistics & Transport
Manufacturing
Media
Travel, Hospitality & Restaurant business
Антон Ч. PHP разработчик, Senior
ID 10374
АЧ
Антон Ч.
Мужчина
Россия, Новосибирск, UTC+7
Ставка
4,000 Р/час
НДС не облагается
Специалист доступен с 28 апреля 2024 г.
Добавьте подходящих специалистов в список и оформите заявку для предварительного бронирования времени специалистов. После оформления заявки ваш персональный менеджер организует прохождение всех необходимых проверок с вами и каждым кандидатом из заявки. Специалист привлекается к проекту только после окончательного подтверждения его выхода с вашей стороны.
Подробнее
О специалисте
Специализация
PHP разработчик
Грейд
Навыки
Отрасли
Знание языков
Английский — B2
Главное о специалисте
Разработчик с профильным образованием и с почти восьмилетним опытом web-разработки. Работал над созданием сложных SaaS платформ с микросерверной архитектурой. Имеет опыт работы оптимизации нагрузок высоконагруженных систем. Помимо непосредственно разработки хорошо разбирается в DevOps и имеет отличное архитектурное мышление. Обладает живым интересом к миру технологий: занимается изучением различных AI решений (знаком с IBM Watson, генеративными нейронными сетями вроде Stable Diffusion)
Проекты
(7 лет 6 месяцев)
Информационная система «Цифровые помощники» (ИС ЦП, Система)
Роль
Senior Full-Stack-разработчик
Обязанности
Описание: Создание ИС ЦП, предназначенной для:
● систематизации информации о результатах педагогической деятельности, реализации возможности по самостоятельной онлайн-подготовке педагогов к аттестации, навигации по образовательным мероприятиям и событиям, а также агрегации лучших практик педагогического сообщества, сформированных в процессе образовательной деятельности;
● автоматизации процесса подготовки обучающихся к ВПР и ГИА в форме ОГЭ с использованием контрольных измерительных материалов, представляющих собой комплексы заданий стандартизированной формы;
● предоставления возможности родителям (законным представителям) обучающихся по выявлению, поддержке и развитию талантов обучающихся с использованием цифровых инструментов диагностики способностей и интересов, а также навигации по кружкам, секциям и электронным образовательным ресурсам.
Поставленная задача: создать систему регистрации событий, для логирования происходящих в системе событий. Система состоит из множества микросервисов, в которых необходимо отслеживать CRUD операции, операции поиска и смену статусов сущностей. При этом все сообщения необходимо валидировать.
Применённые решения и результаты: Был разработан прокси микросервис, который принимает все входящие сообщения, валидирует их и передает в Kafka. Из Kafka сообщения считываются консюмером и сохраняются в базу данных. Также был создан php бандл, который интегрируется в другие сервисы, отлавливает происходящие события и отправляет их в реализованный прокси сервис. В результате был реализован микросервис по регистрации событий в системе и сохранению их в базу данных. Все сохраненные события отображаются на фронте в CMS сервисе. При этом было пройдено нагрузочное тестирование с нагрузкой в 1000 rps
Стек специалиста на проекте
PostgreSQL, Docker, Elasticsearch, PHP, Grafana, Symfony, Prometheus, Keycloak, MinIo, Kafka, API Gateway, Loki, Redis
Отрасль проекта
EdTech
Период работы
Октябрь 2023 - Февраль 2024
(5 месяцев)
Платформа для медиа-компании нескольких брендов
Роль
Senior Full-Stack-разработчик
Обязанности
Описание: G/O - платформа для 11 сайтов разной тематической направленности, от новостей технической тематики до самого крупного новостного портала в сфере видеоигр, с общими данными, процессами и кодовой базой. Совокупное количество посещений всех блогов медиа платформы в месяц - 100 млн. уникальных пользователей. Для сравнения, у аналога на российском рынке «Яндекс Дзене» около 70 млн. уникальных пользователей в месяц.
Архитектура: микросервисная на базе Kubernetes, отдельные логические компоненты сайта выделены в отдельные сервисы (например, комментарии и рекомендованные статьи) с отдельными базами данных, несколько различных фронтендов независимо взаимодействующих с этой инфраструктурой (пользовательский, интерфейс редакторов, интерфейс аналитиков и рекламщиков, интерфейс администраторов), staging-инфраструктура с отдельными инстансами под коммит.
Состояние проекта на момент начала работ:
Frontend часть проекта существовала на стеке Backbone.js/Marionette.js и к моменту начала работ данная архитектура не отвечала требованиям производительности (недостаточные web-vitals метрики), а также была тяжела для поддержке и развитии так как ключевые решения устарели и не отвечали современным нормам скорости и гибкости процесса разработки программного обеспечения.
Поставленная глобальная задача:
Разделить некоторые сервисы для увеличения независимости компонентов системы. Вместе с редизайном произвести переход frontend части проекта на стек Reactjs+SSR, повысить скорость разработки и web-vitals метрики.
Помимо глобальной задачи, которая стояла перед всей командой, занимался разработкой новых features. Для этого, например, переписал микросервис интеграции с facebook, instagram, twitter (Scala).
Достижения
1. В процессе переезда на React.js проведена интеграция с большим количеством сторонних сервисов (рекламы, аналитики, спортивных событий и т.д.).
2. Заново разработана панель управления контентом для команды редакторов (CRUD, аналитика, scheduled posting, promoting, native ad), а также платформа для автоматизированного тестирования сбора аналитики.
3. Успешно проведен редизайн сначала 8 сайтов, а также в процессе интегрированы новые 3 сайта в созданную архитектуру и проведен их редизайн.
Стек специалиста на проекте
Node.js, Scala, Jest, Kubernetes, AWS, TypeScript, Puppeteer, React, S3, EKS, Cyprees, RDS
Отрасль проекта
Media
Период работы
Февраль 2022 - Октябрь 2023
(1 год 9 месяцев)
Диспетчерский дашборд для завода
Роль
Senior Full-Stack-разработчик
Обязанности
Описание: Проект представлял собой систему хранения и сбора данных с различных датчиков, имел сложную систему отчётов и прав доступа.
Примеры задач:
1. С датчиков на станках в систему поступала информация о шарах, её нужно было отображать, разбивая по типам, часам, сменам, изготовившим эти шары и т.п. Также необходимо было сделать систему доступа к данным по ролям.
2. Отобразить на дашборде вагонетки на путях с указанием характеристик их груза и логировать их перемещение по путям.
Решения: Под каждый тип данных создавались в общем-то просты модели данных с небольшой связностью. Большую сложность представляли составные отчёты, в которых сводились различные типы данных для понимания эффективности работы завода и выявления узких мест в производственном процессе. Для этого достаточно было чётко следить за индексами и составными ключами в базе. Для отображения данных в реальном времени использовались web-сокеты.
Стек специалиста на проекте
Redux, Saga, Plotly
Отрасль проекта
Manufacturing
Период работы
Март 2021 - Февраль 2022
(1 год)
Формат работы
Формат работы
Удаленно
Командировки
Не готов
Релокация
Не готов
Готов работать на зарубежных проектах
Нет