Development of trading platform infrastructure in actor-based paradigm
Implemented policy-based distributed authorization service with audit functionality
Introduced telemetry proxy to rewrite queries to Loki and VictoriaMetrics depending on policies
Created new gRPC API endpoints for fetching and subscribing to data streams
optimized SQL queries with regex prefilters in more then 38x times
Aug 2023 - Oct 2023
3 months
Rust Software Engineer
Eloe Inc
Development of replicated accounting ledger database with throughput target 100000+ transactions/sec
Memory is preallocated on startup
Custom IO driver without memory allocations on IO path (completeio). IO layer is swappable to enable reproducible simulations and fault injection to storage and network communication components
Deterministic replication protocol
Jun 2022 - Jun 2023
1 year 1 month
Rust Software Engineer
NXLog
Design and development of an internal service for NXLog Cloud Platform
Suggested an idea of workflow-based fault-tolerant architecture
Developed an API and data access layers using Rocket framework and SQLx toolkit
Suggested an idea of decentralized end-to-end authorization of microservice call chains
Fixed issue with unclosed unnamed PostgreSQL portal in SQLx Toolkit
Proposed concurrency safe API layer that handles transaction retries
Mar 2021 - Present
4 years 9 months
Moscow, Russian Federation
Software Engineer
personal research project
Developing algorithms for ridepooling using Rust
Open sourced Rust implementation of two solvers of weighted perfect matching problem
Aug 2020 - May 2022
1 year 10 months
Moscow, Russian Federation
Lead Software Engineer
RingCentral
Suggested to use GitOps and canary deployment approach based on Flux/Flagger
Experimented with ML training infrastructure for speech recognition service
Streaming inference service for language detection using Rust, Tokio, Triton
Tool for inference validation and hyperparameter optimization using Rust
Tools for preparation of multi language dataset containing audio and transcripts from YouTube using Python, httpx, asyncio
Developed Rust based speech recognition and Meeting Notes backend services
RTP streams synchronization using Rust
Data migrations with MongoDB
Cold start speedup and Kubernetes startup probes with Kafka
Set up CI using Bazel, Docker, GitLab, precommit, rustfmt
Feb 2018 - Apr 2020
2 years 3 months
Moscow, Russian Federation
ML infrastructure engineer
Intelligence Retail
Built distributed image recognition infrastructure based on RabbitMQ and Kubernetes
Contributed async inference interface to mmdetection framework, increasing MaskRCNN inference throughput by ~17%
Optimized recognition services in terms of Docker image size (2.5x) and inference speed (1.3x) and created asyncio-based asynchronous inference implementation
Initiated infrastructure migration to Google Cloud Platform, decreasing GPU resource costs by 4x
Added scale-to-zero support to Kubernetes Horizontal Pod Autoscaler when using object/external metrics and coordinated with SIG autoscaling and SIG apimachinery groups to merge changes upstream
Introduced reproducible deep learning platform based on Polyaxon
Implemented business specific algorithms using Numba
Feb 2017 - Feb 2018
1 year 1 month
Moscow, Russian Federation
Data Engineer
Conde Nast
Architected Kafka based Data Management Platform including content storage, segmentation service, and content based recommendation engine
Production hardening of prototypes provided by data scientists
Built realtime clickstream data processing pipeline
Mentored and shared good engineering practices with data scientists
Aug 2013 - Jan 2016
2 years 6 months
Moscow, Russian Federation
Senior Software Engineer
Lamoda.ru
Created stable backend service handling discount and loyalty program mechanics
Built multi level CI pipeline that run unit, integration and migration tests under two platforms
Developed multi environment configuration management tool based on Ansible
Open sourced Django integration into Spyne RPC toolkit
Organized metric data collection via Graphite
Created concurrent token generation client using Golang
Profiled and optimized service algorithms
Became familiar with Debian packaging and created sbuild based sandbox integrated into Jenkins
Enhanced logging subsystem
Introduced Artifactory-based service deployment
Automated release management
Aug 2011 - May 2013
1 year 10 months
Moscow, Russian Federation
Software Engineer
Rambler Games
Built digital distribution e-shop from scratch
Participated in daily meetings and did code review
Coordinated work with designer and HTML programmer
Designed e-shop architecture on top of Django framework
Implemented business logic, discount, bonus, and shipment systems
Integrated payment gates and suppliers through JSON and XML APIs
Made framework for loading sample and test data with factory-boy
Wrote automatic tests using unittest, mock, and Selenium Web Driver
Designed REST APIs for external services
Prepared back office administration panel and report system
Built client side application with Backbone.js
Delegated long operations to Celery task queue
Extended common projects and libraries
Oct 2008 - May 2010
1 year 8 months
Perm, Russian Federation
Software Engineer
Nevod
Developed web projects with Django and ExtJS
Separated company infrastructure into OpenVZ containers
Introduced infrastructure monitoring with Zabbix
Incorporated automated backup and restore system based on Bacula
Prepared corporate server solutions for clients using ALT Linux distributions
Integrated client offices via OpenVPN
Provided second level technical support for ALT Linux users at schools
Maintained DNS and mail servers and web hosting
Summary
Respectful of high quality work
Interested in robust and secure software development, distributed systems, machine learning
Curious about psychology, productivity, well-being
Critical thinking viewpoint on chosen engineering tradeoffs