Work Experience

Dec 2016 – Present

Smarkets
Data Scientist, Marketing Team

  • Built a customer churn prediction system that resulted in a 20-30% retention improvement
  • Trained a semi-supervised customer classifier used for personalised marketing communication
  • Implemented a customer lifetime value model needed to guide marketing spending
  • Built an internal time series processing system for trend analysis & anomaly detection
  • Refactored and extended the ETL pipeline based on Python / Luigi / Amazon Redshift

London, United Kingdom

Jun 2015 – Sep 2015

Google
Software Engineering Intern, gTech

  • Built a client application for Mopsus, internal time series forecasting platform written in Java
  • Added support for supervised machine learning to Mopsus via Google Prediction API
  • Discovered and fixed 7 bugs in Mopsus / Prediction API beyond the scope of the intern project

London, United Kingdom

Aug 2013 – Jun 2015

Mirantis
Software Engineer, OpenStack Engineering Performance

  • Contributed to 3 projects in the OpenStack cloud computing platform: Nova (resource management), Rally (benchmark system), Murano (app catalog)
  • As a core developer in Rally, implemented critical system components (benchmark launchers, data processing, Rally API) and was the top #2 contributor (100+ commits, 900+ code reviews)
  • Mentored the open-source community of Rally and created extensive Rally documentation
  • Optimized the node listing algorithm in Nova, achieving a 5x performance improvement

Moscow, Russia

Jan 2013 – Jun 2015
(2 years 6 months)

Higher School of Economics
Research Assistant, Laboratory for Intelligent Systems and Structural Analysis (part-time)

  • Leading developer in a research group working on text analysis (headed by prof. B. Mirkin)
  • Built a Python package for approximate string matching using annotated suffix trees
  • Designed a O(n) algorithm for annotated suffix tree construction (based on Ukkonen's algorithm)
  • Designed and implemented LM Monitor – graph-based, client-server text visualization system

Moscow, Russia

Education

Sep 2015 – Sep 2016

Université Paris-Est Marne-la-Vallée
M.Sc. in Computer Science (mention très bien)

Paris, France

Sep 2010 – Sep 2016

National Research University Higher School of Economics
M.Sc. in Data Science / B.Sc. in Software Engineering (GPA 9.6/10, diploma with honours)

Moscow, Russia

Summer Schools:
Moscow, Russia
Ekaterinburg, Russia

Summer School on Bioinformatics Data Structures (2016)

Helsinki, Finland

Scholarships:

Segalovich Scholarship from Yandex (2015), Russian President Scholarship (2012)

Skills

Background:

Machine Learning, Natural Language Processing, Bioinformatics

Computer Languages:

Python, Java, SQL (proficient), R, Matlab, C#, C++, Scala, F# (prior experience)

Natural Languages:

English (fluent, IELTS 8.5/9.0), German (fluent, DSD C1), French (intermediate), Russian (native)

Selected Publications

2015

Dubov M. "Text Analysis with Enhanced Annotated Suffix Trees: Algorithms and Implementation" // Analysis of Images, Social Networks and Texts. Fourth International Conference, AIST 2015, Yekaterinburg, Russia, April 9-11, 2015, Revised Selected Papers. Communications in Computer and Information Science, Vol. 542, Springer.

2014

Dubov M., Mirkin B., Shal A. "Automatic Russian Text Processing System" // Open Systems. DBMS – 2014. – v.22 №10, pp.15-17

Competitions & Awards

2014

International Piano Competition for Outstanding Amateurs – 3d prize & Press award

Paris, France

2013

Yandex Hackathon on Open Data – 3d prize

Moscow, Russia

2011

"Claviarium" Competition for Amateur Pianists – 2nd prize

Moscow, Russia

2010

All-Russian Olympiad in German Language – 1st prize

Nizhny Novgorod, Russia