← В ленту
Регистрация: 30.11.2023

Leonid Malin

Специализация: Middle Python Backend Engineer

Портфолио

Medical data aggregation service

This is a project that aggregates data for frontend about some drugs spreading across the US from external client's db and generates planned reports. I was a lead developer on this project and heavily communicated with technical manager and team members to clearly understand client's needs and come out with suitable project structure and architecture. Project has 2 databeses: first is client's DB with data, second is for our project purposes There were almost no relations between tables and complex DB structure that we couldn't change, so complex queries were needed Developed report file generation system for different types of reports, used celery for scheduled generation, optmized report generation to have minimum load on celery worker pods Made tests work with 2 databases and generate fake data for mocked client's db

CRM

I participated in development of internal CRM system. We developed it in a team of about 10 people, including backend & frontend developers, devops, managers and software architect. We used REST API to interact with frontend and gRPC for services communication. It was build with FastAPI framework. I was implementing a lot of REST API endpoints, validation logic and services interaction (gRPC handlers implementation for other services). Also I contributed a lot in development of core logic for all services (we used custom framework built on top of FastAPI), including some core REST API features (filtering/sorting, core validation, DI, data interaction layer and more).

Online poker game

This project is online poker game that was made during COVID-19 to allow friends to play poker together. It is relatively large and has some services, including: Custom poker game framework with rules and different game modes that is built in pure python Django rest framework part (API for some pages) Client-server in-game communication that is built with custom messaging system over WebSocket protocol (django_channels), pydantic for messages validation Simple time-tracking microservice with communication via gRPC Statistics collection service that used InfluxDB to store data Telemetry with opentelemetry + tempo + grafana to have live data about games in grafana dashboards Complex testing infrastructure that were designed to implement different game scenarios and run them in every test case

Скиллы

AWS
Celery
CI/CD
Django
Django channels
Django Rest Framework
Docker/docker-compose
ETCD
FastAPI
gRPC
InfluxDB
Postgresql
Python
RabbitMQ
Redis
SQLAlchemy

Опыт работы

Python Backend Engineer
с 12.2020 - По настоящий момент |Saritasa
Django, PostgreSQL, FastAPI, SQLAlchemy, Celery, gRPC
1. Online poker game. This project is online poker game that was made during COVID-19 to allow friendsto play poker together. It is relatively large and has some services, including: - Custom poker game framework with rules and different game modes that isbuilt in pure python - Django rest framework part (API for some pages). - Client-server in-game communication that is built with custom messagingsystem over WebSocket protocol (django_channels), pydantic for messagesvalidation. - Simple time-tracking microservice with communication via gRPC. - Statistics collection service that used InfluxDB to store data. - Telemetry with opentelemetry + tempo + grafana to have live data about gamesin grafana dashboards. - Complex testing infrastructure that were designed to implement different gamescenarios and run them in every test case. 2. CRM. - I participated in development of internal CRM system. We developed it in a team ofabout 10 people, including backend & frontend developers, devops, managers andsoftware architect. We used REST API to interact with frontend and gRPC forservices communication. It was build with FastAPI framework. - I was implementing a lot of REST API endpoints, validation logic and servicesinteraction (gRPC handlers implementation for other services). - Also I contributed alot in development of core logic for all services (we used custom framework built ontop of FastAPI), including some core REST API features (filtering/sorting, corevalidation, DI, data interaction layer and more). - One of the most interesting part of this project was sync with legacy CRM version that worked in production for about 10 years before.There was a task to make both versions work alongside and sync changes between each other. So we made sync to both directions(legacy-to-new and new-to-legacy), I designed and maintained second part of this sync. During implementation of this task I worked a lotwith python’s protocols and Amazon SQS as a messaging queue for sync.

Образование

Information systems and technologies (Бакалавр)
2019 - 2023
Siberian Federal University

Языки

АнглийскийВыше среднегоРусскийРодной