Обязанности и достижения:
1. В команде разрабатывали и поддерживали несколько веб сервисов, осуществляющих обработку и доставку данных с месторождений.
В команде было несколько backend разработчиков и 1 фронт.
Проект представлял собой систему сбора данных со скважин. Данные поступали в систему, обрабатывались и агрегировались для предоставления в API.
Что делал:
- реализовывал сервисы на Flask с использованием SQLAlchemy и Marshmallow
Стек:
- Python 3.10, Flask, SQLAlchemy, Marshmallow, Celery, Pandas, NumPy
- PostgreSQL, Redis
- Docker, Gitlab CI/CD
На данном проекте проработал около полугода, позже перешел в другой отдел для работы над следующим проектом.
2. Проект по планированию разработки нефтяных месторождений.
Команда начинала с 3х бэков, включая лида и меня + фронт. В течение года добавилось еще 2 бэка + 2 фронта + ПМ
Изначально был монолит на Django с Django REST framework, который впоследствии разбили на микросервисы на FastAPI
Со старта работал над основной логикой проекта на Django:
- разработка расчетов для планирования с помощью pandas/polars и numpy
- SQL-запросы, в том числе сложные для расчетов и аналитики
- оптимизация SQL: индексы, рефакторинг запросов с помощью explain
- прочая мелочь: написание интеграционных и unit тестов, Разработка REST API, справочные данные через ORM, импорт/экспорт Excel, модуль для корпоративных почтовых рассылок
Не бизнесовые задачи:
- мониторинг сервисов: развертывал и настраивал Grafana, Prometheus, Loki, GlitchTip
- репликация БД, Переход с Postgres на TimescaleDB
- работа с Gitlab CI/CD
- занимался внедрением Redis в качестве кэша
В дальнейшем с командой разбивали проект на микросервисы:
- занимался проектированием микросервисов и их разработкой на FastAPI
- работал с Kafka для обмена данными между сервисами
- внедрял ClickHouse и занимался переносом на него части нагрузки
Прочие активности:
- участвовал в написании тз с ПМом и заказчиком
- код ревью
- участие в представлении функциональности заказчику
Стек:
- Python 3.12, Django 4.2, FastAPI, Numpy, Pandas, Polars, Celery
- PostgreSQL, TimescaleDB, Redis, Clickhouse
- Docker, Kafka, Grafana, Prometheus, GlitchTip