Position: Senior ML Software Engineer, Software Engineer, Research Engineer
Category: Golang
English level: fluent
Years of experience: 5

Lyft
Improved dispatch algorithm at Lyft earning $5M PMM annually. 
Led and supported multiple contextual bandit optimization efforts across Lyft related to the pricing and ETAs, the total impact is still to be seen. 
Participated in the development of the model which predicts future demand. Took part as a Senior Engineer in implementing the new Near-term reservation product.

Google
Designed CP-SAT model for the vehicle routing solver, which allowed to solve instances that regular solver couldn't solve.

Developed the algorithm based on a Multi-armed bandit approach that significantly improved already reward-winning vehicle routing solver performance.
 
Significantly improved page shopping classifier working at Google: 11% increase in precision + 2% recall. Since it was an internship I left before it has been fully integrated, therefore I don't know the exact financial effect. 

Competitive programming:
Have many achievements in competitive programming, among which International Olympiad in Informatics(IOI-2014) and VK Cup 2017 finals.
Working as Senior ML Software Engineer in the team responsible for offerings at Lyft. My projects are at the core of the business related to dispatch algorithms, rides ETA, offer selections, pricing strategies, and recommendations. My main interest is in ML and optimizations.

Previous experience:
Most of my commercial experience is internships at Google(Remote, Zurich) and Microsoft(Seattle). My recent experience was in the Operations Research team at Google. I worked on the vehicle routing solver improvements(part of the or-tools library).
1. Designed and implemented a complicated routing model based on CP-SAT solver, which can solve academic benchmarks and supports enough features for many real-world cases.
2. Improved Vehicle Routing Solver architecture using the Multi-Armed Bandit algorithm in the local search phase. Got the objective improvement by 1%-2.5% on average, depending on instance type.
3. Researched and developed different smart search limits for the vehicle routing solver. The best limit saves on average 43% of the time in exchange for a 0.8% loss of the objective value.
Before, I worked in the Shopping Search Quality team, where I designed a shopping classifier for web pages using a neural network based on web-pages geometry representation, in order to improve shopping site detection. Improved the model precision from 78% to 89%, while winning an extra 2% of recall, without using features used in the old classifier.
Technology: C++, Linear programming, Operations Research, Algorithms, Python, Bash, TensorFlow, ML, SQL, Google Test, proto3, Qt, internal tools.

At Microsoft, I have been working on:
1. Azure DevOps packaging. Engineered build provenance feature for packages to improve the deployment process. Implemented both the server and the client sides.
2. Azure Tools. Engineered new features for AppService & CosmosDB VSCode extensions. Designed API for CosmosDB. Added new functionality to Visual Studio Code Azure SDK for Node.js.
3. Tools for software engineers. Re-designed SQL database of existing code reviews for optimizing recommendations queries performance. Implemented reviewer's recommendation service and NN model.
Technology: C#, SQL, Typescript, ML, RegExp, Microsoft SQL Server, JavaScript

I'm interested in distributed computing, infrastructure projects, and back-end. I would also love to work on algorithms and research. Also, I'm open to data science and machine learning positions.