Добавьте подходящих специалистов в список и оформите заявку для предварительного бронирования времени специалистов. После оформления заявки ваш персональный менеджер организует прохождение всех необходимых проверок с вами и каждым кандидатом из заявки. Специалист привлекается к проекту только после окончательного подтверждения его выхода с вашей стороны.
Анатолий - разработчик с трёхлетним опытом работы на языке Go. Работал в команде крупной медиаплатформы со 100 млн. уникальных пользователей в месяц. Помимо Golang, есть опыт в работе с backend-ом на Node.js. Кроме этого, Анатолий имеет опыт frontend разработки, а именно с React.js. Благодаря работе в сплоченных командах исполнителен и коммуникабелен.
Проекты
(3 года 10 месяцев)
VK
Роль
Middle Golang Разработчик
Обязанности
Проект по реорганизации архитектуры сервиса (юнита) VKID. Анатолий работал над выделением функционала из монолитного приложения в независимые микросервисы, разработанные на языке программирования Golang. Основная цель заключалась в улучшении масштабируемости и управляемости системы благодаря переходу на микросервисную архитектуру.
Создание новых и доработка существующих микросервисов, предоставляющих замену функциональности, реализованной в рамках kPHP монолита. Анатолий, в соответствии с требованиями и стандартами проекта и команды в целом, создал микросервис с нуля. Также он работал с существующим микросервисом миграции данных. Эти сервисы обеспечивали необходимую функциональность для новой системы аутентификации ВК
Устранение гонок данных. Анатолий производил рефакторинг процессов, порождавших гонку данных при работе со сложными связанными cущностями. Для этого были изменены структуры моделей данных и переписан соответствующий функционал.
Разработка обработчика очередей для управления тасками и очередями. Анатолий добавил новый логический слой в существующее приложение, абстрагировав взаимодействие с очередями.
Внедрение поддержки кириллицы. Анатолий исправил проблемы с использованием кириллицы при взаимодействии новых микросервисов, для чего переопределил protobuf декларации, изменив структуру передаваемых данных.
Внедрение системы логирования событий и действий нового сервиса для мониторинга и отслеживания состояния сервиса.
Добавление логирования новых метрик в существующих сервисах: количество обращений к cookies, количество выходов из системы (логаутов), корректная генерация токена для юзера во время аутентификации с последующей авторизацией.
Достижения
1. Создание новых и доработка существующих микросервисов, предоставляющих замену функциональности, реализованной в рамках kPHP монолита.
2. Устранение гонок данных.
3. Разработка обработчика очередей для управления тасками и очередями.
4. Внедрение поддержки кириллицы.
5. Внедрение системы логирования событий и действий нового сервиса для мониторинга и отслеживания состояния сервиса.
6. Добавление логирования новых метрик в существующих сервиса
7. Выполнял релизы с использованием CI/CD пайплайнов в TeamCity для автоматического деплоя фич, веток и мастер-ветки на стейджинг-среду с последующим продвижением в продакшн согласно установленному workflow.
8.Проводил мониторинг метрик и графиков в Statshouse в процессе релизов.
9.Использовал Docker и Docker Compose для контейнеризации микросервисов, включая настройку локальной среды
1. Разработал и развернул сервис управления лендингами кампаний. Ранее каждый лэндинг требовал обновления имеющихся API сервисов, что замедляло скорость их реализации, а иногда лэндинги маркетинговых кампаний были связаны с на совершенно другими порталами, из-за чего не было единообразия в их написании. Под руководством тимлида Анатолий написал сервис, использующий данные с других площадок (динамически через апи, или с возможностью предоставить данные мануально в предустановленном формате) для последующего предоставления их фронтэнду единообразным способом и в рамках инфраструктуры проекта. Благодаря этому удалось повысить скорость загрузки этих страниц в полтора раза, а также перенести лэндинги на основной домен, что улучшило SEO показатели.
2. Произведена оптимизация API эндпоинтов и связанных с ними запросов в базу данных, что позволило уменьшить потребление ресурсов на 10%.
3. Создание новых и исправление уже существовавших источников данных для дэшбордов и визуальных редакторов. Анатолий добавлял новые эндпоинты, и вносил изменения в существующие сервисы, предоставляющие данные и возможности ими оперировать.
4. Написание новых и обновление unit-тестов для всего затронутого при работе функционала.
5. Внесение изменений в деплоймент скрипты на python.
Краткое описание проекта: проект в сфере здравоохранения для ведения записей о уровне боли пользователей. Проект в первую очередь B2B решение для страховых компаний — портал, где представители компании с определенными ролями могут заходить и смотреть информацию о пользователях. Если пользователь отслеживает в приложении боль, будучи хронически больным, то страховая компания может сэкономить большое количество бюджета, например более своевременно вызывая врача. Пользователи регулярно заполняют опросники и могут генерировать отчёты для использования на приёме у врача.
Архитектура: Гибридная с монолитным легаси приложением на Drupal и микросервисами на Symfony и Golang на базе Kubernetes, обеспечивающие работу нескольких фронтэнд приложений, включая мобильное приложение, удовлетворяющих нужды нескольких целевых аудиторий и соответствующих стандартам для сферы здравоохранения.
На старте приложение было написано на Drupal, однако по мере роста эта платформа перестала удовлетворять требованиям проекта. База данных с записями об уровнях боли чрезмерно разрослась для того чтобы продолжать работать с ней средствами монолита на Drupal, потому наша команда начала создавать микросервисы для соответствия реалиям проекта.
Достижения
Анатолий создал сервис, обрабатывающий записи с данными о боли, который преобразовывал данные в форму, которая более чем на порядок быстрее позволяла генерировать отчёты и делать выборки. Благодаря этому мы смогли решить часть проблем, связанных с производительностью легаси приложения и значительно ускорить генерацию отчётов.
Обновления в инфраструктуре проекта для корректного разбиения монолита на микросервисы.
Правки в сервисе web API, требуемые для поддержки дэшбордов и для работы с обновлённой структурой данных.
Использовал GitLab CI/CD для автоматического развертывания приложения на сервер
Управлял кодом с использованием GitLab: настройка ветвления, создание merge-запросов, разрешение конфликтов, контроль версий, проведение релизов