Golang-разработчик
Андрей
Возраст
23 года (03 Марта 2003)
Город
Москва
Возможен переезд в другой город
Гражданство
Белоруссия
Полная занятость
3 года 11 месяцев
Информационные технологии / IT / Интернет
Проект
EVRAZ SCANNER — корпоративная система инвентаризации и учёта активов крупного промышленного холдинга.
Система включает 7 микросервисов, backend на Go, интеграцию с SAP, Apache Kafka, PostgreSQL, Redis и offline-first синхронизацию мобильных складских устройств. Команда проекта — 9 человек.
Задачи и достижения
• Участвовал в проектировании архитектуры и контрактов между сервисами; написал с нуля 4 из 7 Go-микросервисов: Auth Service, Document Sync Service, Task Management Service и SAP Integration.
• Разрабатывал REST API и event-driven взаимодействие через Apache Kafka для синхронных операций, фоновой обработки и интеграции с SAP.
• Реализовал Transactional Outbox на PostgreSQL для надёжной доставки результатов инвентаризации в SAP: сообщение сохранялось в одной транзакции с бизнес-данными, отдельный worker каждые 5 секунд выбирал до 100 PENDING-сообщений, выполнял повторные попытки с exponential backoff и переводил неуспешные сообщения в Dead-Letter. Доля потерянных данных при сбоях SAP снизилась примерно с 5% до 0,1%.
• Перевёл Kafka consumers в SAP Integration и Document Sync на ручной commit offsets: offset подтверждался только после успешной обработки или сохранения данных в PostgreSQL; добавил мониторинг Kafka lag через Prometheus.
• Реализовал идемпотентность сканирования через уникальный составной ключ (task_id, qr_code): повторные сканы не создавали дубли в PostgreSQL и возвращали признак already_scanned.
• Реализовал Circuit Breaker для SAP-интеграции: после 5 последовательных ошибок circuit открывался на 30 секунд, и запросы завершались fail-fast вместо ожидания внешнего timeout до 10 секунд, снижая риск каскадного отказа.
• Реализовал Redis Cache-Aside для активных задач инвентаризации: QR-коды хранились в Redis Hash, cache miss обрабатывался через PostgreSQL, использовались TTL и инвалидация при изменениях. Время проверки сократилось примерно с 80 мс до 2 мс, а CPU-нагрузка PostgreSQL снизилась примерно на 40%.
• Спроектировал статусную модель задач инвентаризации с валидацией допустимых переходов и unit-тестами бизнес-логики.
• Участвовал в реализации offline-first синхронизации: операции сохранялись локально на мобильном устройстве и отправлялись на backend после восстановления связи. Это позволило подключить склады с нестабильным интернетом и увеличить охват системы примерно на 30%.
• Нашёл и исправил ошибку пагинации SAP OData: сервис обрабатывал только первую страницу ответа. Добавил обход __next-ссылок и восстановил загрузку примерно 10% документов, которые ранее не попадали в приложение.
• Настроил структурированное JSON-логирование в Go-сервисах с service, trace_id, user_id, HTTP-методом, статусом и duration; добавлял Prometheus metrics и использовал Grafana/EFK для анализа инцидентов.
• Работал с CI/CD в GitLab CI: golangci-lint, go test -race -cover, сборка бинарника и Docker-образа, деплой через Kubernetes/Helm; production rollout выполнялся поэтапно, начиная с canary на 10% трафика.
• Участвовал в code review, архитектурных обсуждениях, Scrum-планировании и релизах раз в 2–4 недели.
• Технические изменения backend вместе с мобильным offline-first решением помогли сократить инвентаризацию крупного склада примерно с 2 недель до 2–3 дней.
Стек
Go / Golang, Gin, GORM, PostgreSQL, SQL, Redis, Apache Kafka, confluent-kafka-go, REST API, SAP OData, SOAP, Docker, Kubernetes, Helm, Prometheus, Grafana, EFK, Git, GitLab CI/CD, JWT, golangci-lint
Информационные технологии / IT / Интернет
Проект
BROKERAGE PLATFORM — backend брокерской платформы для обработки торговых операций, стоп-заявок, корпоративных действий и информации о финансовых инструментах.
Микросервисная архитектура на Go с использованием PostgreSQL, Redis и Apache Kafka.
Задачи и достижения
• Начал работу стажёром и вырос до Junior Go Developer; основным сервисом был Instrument Service, также работал с Stop-Order Service и Scheduler.
• Разрабатывал REST API, исправлял баги, писал unit-тесты и постепенно брал самостоятельные backend-задачи на Go.
• Оптимизировал критический PostgreSQL-запрос страницы корпоративных действий с 2,5 с до 100 мс: использовал EXPLAIN ANALYZE, добавил составной индекс (company_id, action_date) и убрал лишние JOIN.
• Увеличил покрытие Instrument Service тестами примерно с 30% до 60%, используя стандартный testing, GoMock и Testify.
• Реализовал Kafka consumer для события instrument.updated с ручным commit offset после успешного обновления PostgreSQL; при ошибке БД сообщение оставалось неподтверждённым для повторной обработки.
• Самостоятельно реализовал backend-фичу для редактирования пользовательских данных: спроектировал endpoint, добавил валидацию, тесты и провёл фичу до dev-стенда.
• Участвовал в миграции Scheduler на новый движок: написал сравнительные тесты старой и новой реализации и исправил различия в обработке cron-выражений.
• Работал с бизнес-логикой Stop-Order Service: покрывал тестами расчёт активации стоп-заявок и исправлял баги, включая ошибку округления цены.
• Добавлял структурированное логирование с контекстом запроса (method, user_id, request identifiers) и участвовал в code review через Merge Request.
• К концу проекта самостоятельно проводил небольшие фичи от реализации до dev-деплоя и помогал новому стажёру разбираться со структурой проекта и первыми задачами.
Стек
Go / Golang, Gin, GORM, PostgreSQL, SQL, Redis, Apache Kafka, REST API, Docker, Kubernetes, Kong API Gateway, Prometheus, Grafana, EFK, GitLab CI/CD, GoMock, Testify
Среднее специальное
Гродно, 2020 — 2023 гг.
Английский — Разговорный
Backend-разработчик на Go: микросервисы, Kafka и интеграции с внешними API. Стек: Go, PostgreSQL, Redis, Kafka, Docker, Kubernetes. Закрываю контур от проектирования сервиса до production: устойчивость интеграций (Outbox, retry, DLQ, Circuit Breaker), кэш, SQL-оптимизации, тесты и наблюдаемость(Prometheus, Grafana). Основной опыт — инвентаризация для металлургии (ЕВРАЗ СКАНЕР) и брокерская платформаторговых распоряжений. Спокойно отношусь к code review, быстроберу лучшие практики и держу прозрачную коммуникацию в команде. Контакт для связи: tg:https://t.me/f0ff1hck MAIL: drewoolo58@gmail.com
14 ноября, 2025
2 июля, 2015
Даниил
Город
Москва
Возраст
56 лет (23 декабря 1969)
Опыт работы:
20 лет и 4 месяца
Последнее место работы:
Ведущий инженер, ООО ПроГрид
07.2012 - 02.2015
3 июля, 2015
Резюме размещено в отрасли
