Telegram: @shiryaev_87 LinkedIn: konstantin-shiryaev
Инженер данных. Строю аналитические решения полного цикла: от проектирования и оптимизации ETL/ELT-процессов (SAP BW, SQL, Python, PySpark) и работы с хранилищами (SAP HANA, Vertica, PostgreSQL) до BI-отчётности SAP BI/BO (BEx, Analysis for Office)
Сейчас развиваюсь в backend-разработке на Go. Язык выбрал осознанно: он даёт то, чего мне не хватало в аналитике — статическую типизацию, явную работу с конкурентностью и понятную модель ошибок. Пишу пет-проект, где применяю инженерные практики из мира данных к backend-задачам: атомарность операций, тестирование, миграции, наблюдаемость.
Backend (Go): Go, net/http, REST API, PostgreSQL, pgx/pgxpool, Docker
Data Engineering: ETL/ELT, проектирование DWH, пайплайны данных, оптимизация SQL
SAP: SAP BW/4HANA, SAP BI/BO (BEx, Analysis for Office), SAP HANA Studio, SAP Analytics Cloud
Языки программирования и запросы: SQL, Python, Go, ABAP, VBA
Big Data: PySpark, Hadoop
Базы данных: PostgreSQL, Vertica, SAP HANA
Оркестрация и DevOps: Apache Airflow, Docker, Git
Языки общения: русский (родной), английский (B2 Upper-Intermediate)
- Реверс-инжиниринг и оптимизация: разобрал legacy-систему планирования продаж, оптимизировал ETL-пайплайны и SQL-запросы — ускорение в 3 раза для годовых и месячных циклов планирования, расхождение прогноза снижено с 10% до 4%.
- Ведение проектов полного цикла: вёл проекты от проектирования модели данных в SAP BW до внедрения аналитических дашбордов для крупных заказчиков (Роснефть, Газпром, Полюс Золото, М.Видео-Эльдорадо).
Сервис для агентства недвижимости: интерактивная схема участков в SVG, бронирование с сервера, админ-панель управления каталогом. Пишу, чтобы освоить и применить на практике основные инженерные практики Go-разработчика.
Стек: Go 1.22+, net/http (роутинг с методами и path-параметрами), PostgreSQL, pgx/pgxpool, gorilla/sessions, bcrypt, Docker
Что уже работает:
- регистрация и вход: bcrypt для паролей, cookie-сессии
- публичная схема участков — SVG-полигоны с цветовой кодировкой статуса
- бронирование участка с атомарной проверкой доступности: условие
status = 'available'вынесено внутрьUPDATE, результат определяется поRowsAffected()— двойное бронирование одного участка исключено на уровне запроса - роли пользователей и middleware авторизации
- админ-панель: список, создание и редактирование участков
- параметризованные запросы везде — SQL-инъекции нет ни в одном обработчике
В работе:
- тесты: юнит-тесты бизнес-логики, HTTP-тесты на
httptest, интеграционные наtestcontainers-go - миграции БД (
golang-migrate) и конфигурация через переменные окружения - REST API
/api/v1с DTO, OpenAPI и аутентификацией по JWT - генератор участков и ETL-загрузка из CSV: worker pool на
errgroup, каналы, батчевая вставка черезpgx.CopyFrom - нагрузочное тестирование (k6), профилирование через
pprof, метрики Prometheus
🔗 Репозиторий: github.com/…/sakura
- SAP Certified Application Associate — Reporting, Modeling and Data Acquisition with SAP BW/4HANA
- SAP Certified Application Associate — Modeling and Data Acquisition with SAP BW 7.5 on SAP HANA (C_TBW50H_75)
- Яндекс дата инженер