- Java (J2SE, J2EE, Spring, Hibernate, Tomcat, Jetty, Wicket, Ant, Maven, Ivy) (Advanced)
- Scala (Playframework, Akka, SBT) (Intermediate)
- Data Engineering (Cassandra, Kafka, MySQL, MongoDB, Redis, PostgreSQL) (Intermediate)
- Python (Django), PHP (Symfony Framework), JS (Node.js), C/C++ (NVIDIA CUDA) (Intermediate)
A social network for the Dota 2 gamers and service which aggregates the data about played games for every Dota 2 player, processes and feeds this data as a set of statistical and machine learning metrics to a user in a web application.
- Designed and implemented a data processing pipeline;
- Developed a distributed, fault-tolerant downloader (data are taken through the Valve API);
- Designed and implemented a custom data storage engine which reduced the cost of infrastructure by 5 times (initially -- 10 servers with Cassandra without replication, after the change -- 2 servers with the custom storage engine and backups);
- Designed a flexible and scalable data processing architecture that made it possible to separate the data processing pipeline and the web frontend.
Scala, Akka, Java, Cassandra, Kafka, Redis, MongoDB, Playframework, Node.js, Python (pandas, numpy, scikit-learn), Ansible
A distributed system with the Swing desktop clients and the high load computation backend. The backend core distributes the user tasks between the executor nodes which crawl the search engine result pages (Yandex, Google) to find the backlinks to the target web page. ~ 5000 online users.
- Designed the architecture and implemented a distributed crawler;
- Implemented Swing client application and a server which supports.
Java (Multithreading, Swing, JDBC, Hibernate, Hessian, Jetty), MySQL
A payment system for the restaurants. The mobile app uses iBeacons to define the current table. Backend is designed on the microservices architecture.
- Designed the architecture and implemented the system.
Node.js, Nginx, PostgreSQL, RabbitMQ, Redis, Scala, Play, Akka
United Payment Cabinets for Prepaid Card Kykyryza and TNK (http://kykyryza.ru/)
Kykyryza is the largest prepaid cards (MasterCard co-brand) system in CIS (~ 3 000 000 cards, ~ 100 000 users). The Online Payment Cabinet allows to pay for various services, do money transfers and purchases in online stores.
- Implemented the systems integration layer with third-party services (processing center, retail banking system and a lot of service providers);
- Developed and implemented various features for the payment platform;
- Designed and implemented the development infrastructure and the development pipeline (CI - Jenkins, Ant, Ivy, SVN, test and demo servers).
Apache Wicket, Spring, Hibernate
Collaborative Filtering Recommender System
A recommender system based on the collaborative filtering algorithms. ~100 000 users, ~50 000 media content entities (movies, games, video, TVseries, software).
- Made a research in the recommender systems and systems for the parallel computations fields;
- Designed and implemented both the algorithm and the data processing pipeline in C++;
- Tested various hardware (NVIDIA GPU) in terms of computation performance;
Implemented integration with the target web application.
Intranet Mediaportal (http://magnet.211.ru/)
An intranet media portal for the major internet service provider. ~ 100 000 users.
- Designed an architecture and implemented a full-stack web application that serves ~100 000 active users
- Implemented a distributed crawler (5 - 10 worker nodes) that retreived information about the movies from http://kinopoisk.com/ and http://imdb.com/ (~ 300 000 movies, ~ 4 000 000 actors/directors/producers).
Java (Apache Commons, Multithreading, Concurrency), PHP (Symfony Framework), MySQL, Sphinx Search Engine
Hosting Service (http://hosting.rtcomm-sibir.ru/)
Hardware, network and software infrastructure set up and support for hosting provider.
- Designed and implemented network and system architecture;
- Set up hardware, network and software infrastructure;
- Organized 24/7 support service for ~ 500 clients.