Alexander Nikolaev, Developer in Bangkok, Thailand
Alexander is available for hire
Hire Alexander

Alexander Nikolaev

Verified Expert  in Engineering

Machine Learning Developer

Location
Bangkok, Thailand
Toptal Member Since
May 20, 2019

Alex is a software engineer with vast experience in data science. He has strong back-end engineering skills and loves digging deep into data to obtain valuable insights and hidden gems. He is an excellent communicator with proficiency in navigating teams to ensure successful project delivery. Alex's expertise lies in creating efficient end-to-end machine learning solutions with a strong understanding of business requirements and KPIs.

Portfolio

Agoda
RabbitMQ, Apache Kafka, Couchbase, Impala, Hadoop, Microsoft SQL Server, Spark...
Sberbank
TensorFlow, SQL, Jupyter, Python
Twitter
Hadoop, Scala, Apache Lucene, Java

Experience

Availability

Part-time

Preferred Environment

Jupyter, PyCharm, IntelliJ IDEA, Git, Linux

The most amazing...

...program I've developed is a machine learning model which reduced the company's losses due to fraud by USD $2.5 million a year.

Work Experience

Software Engineer

2017 - PRESENT
Agoda
  • Developed an account protection API in Scala and Play, which is responsible for detecting suspicious activities in a user's account.
  • Implemented a machine learning model for showing CAPTCHA, which reduced the number of false positives by 50%.
  • Implemented a machine learning model for customer fraud detection, saving the company approximately 2.5 million USD a year.
  • Supervised a team of six people in machine learning protocols.
  • Implemented an anomaly detection framework for bots, and the detection of suspicious users. More specifically, this framework allowed the identifying of high-volume or credential stuffing attacks in near real-time.
  • Consulted a wide range of teams on machine learning approaches, and helped develop a quick, and efficient POC.
  • Developed a data replication mechanism across five data centers using Apache Kafka.
Technologies: RabbitMQ, Apache Kafka, Couchbase, Impala, Hadoop, Microsoft SQL Server, Spark, TensorFlow, Jupyter, Play, Python, Java, Scala

Data Scientist

2017 - 2017
Sberbank
  • Implemented an analytical library in Python for a credit scoring models' validation.
  • Automated ETL jobs.
  • Developed the framework for anomaly detection in loan applications using TensorFlow.
  • Consulted managers and executives on data science, and industry best practices.
  • Organized events, and competitions for data scientists.
Technologies: TensorFlow, SQL, Jupyter, Python

Software Engineering Intern

2016 - 2016
Twitter
  • Implemented efficient minimum engagement operators in an archive index using Apache Lucene, and Twitter EarlyBird.
Technologies: Hadoop, Scala, Apache Lucene, Java

Data Analyst

2014 - 2016
Yandex
  • Developed look-alike models for ads targeting, and audience segmentation by behavior, age, and gender using Python, and Java.
  • Gathered and pre-processed the data, trained the models, ran A/B testing, and followed through to production.
  • Contributed to the development of an analytical framework.
  • Improved performance of the age detection classifier by 10% (in terms of AUC).
Technologies: Vowpal Wabbit, Hadoop, MapReduce, SQL, Jupyter, Java, Python

Real-time Data Processing, and Analysis Using Raspberry Pi

I built an electric longboard which was controlled by Raspberry Pi, an iOS app, and remote control. Aside from the longboard control, Raspberry Pi was responsible for collecting the data from a range of sensors like the IMU sensor, a temperature sensor, a light sensor, batteries, and motors. I processed it for automated speed adjustment (i.e. cruise control), and surface classification in real-time.

Technologies used: Python (scikit-learn, Pandas, NumPy), SQLite, Apache Kafka.

Age Detection Based On Users' Behavior on Website

I collected anonymized data from the WebAdvisor tool Yandex.Metrica service, which tracks users' actions on websites such us clicks, scrolls, and scrolling speed. The null hypothesis was that such features would be helpful for the detection of two groups of users; those under 17 years of age, and users older than 55 (age groups in marketing terms). As a result, the hypothesis was confirmed, and I was able to achieve 11% accuracy improvements for these groups compared to the existing classifier.

Technologies used: Python (scikit-learn, Pandas, NumPy), XGBoost, Vowpal Wabbit, MatrixNet.

Fraud Detection Pipeline

I implemented the LightGBM model for account takeover fraud detection in Scala, Spark, and Python. This caught 85% of all fraud with an overall improvement rate of 45%. To make it run in a real-time Scala app, I used JPMML, and Scala Play.

Technologies used: LightGBM, PMML, Scala Play, Apache Kafka, Couchbase, Docker.

Anomaly Detection Framework

I implemented Spark for anomaly detection in website traffic messages using an efficient (linear space) DBSCAN clustering algorithm, which triggered alerts on unknown clusters in traffic.

Technologies used: Spark, Scala, DBSCAN, Grafana.

React-SPA

I implemented a simple React-SPA embedded in LINE Front-end Framework for one of the fastest growing eCommerce startups in Bangkok, Thailand

Technologies used: React, Redux, Saga, Webpack.

Languages

Python, SQL, Scala, Java, JavaScript

Libraries/APIs

Scikit-learn, TensorFlow, Apache Lucene, React, Monix

Paradigms

Data Science, REST, Functional Programming, MapReduce

Other

Machine Learning, Data Structures, Statistics, Software Development, Algorithms, Probability Theory, Vowpal Wabbit

Frameworks

Hadoop, Spark, LightGBM, Play, Django, Akka

Tools

Impala, Git, IntelliJ IDEA, PyCharm, Jupyter, Tableau, MATLAB, RabbitMQ

Platforms

Jupyter Notebook, Apache Kafka, Linux, Docker

Storage

Couchbase, NoSQL, Cassandra, Microsoft SQL Server, MySQL

2012 - 2017

Bachelor's Degree in Applied Mathematics, and Computer Science

National Research University – Higher School of Economics - Moscow, Russia

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring