Vadym H.

Team Lead/Scala Developer/Data Scientist

Have over 4.5 years of experience as a Data Scientist and a Scala Developer.

MAJOR SKILLS

Field Level Experience Scala Expert 4.5 years Expert 4 years Sbt Expert 4 years Slick Expert 4 years Akka Expert 4 years Kafka Expert 4 years OpenCV Expert 4 years Lucene Advanced 2 years Hadoop Expert 3 years Spark Expert 3 years Flink Advanced 2 years Docker Expert 3 years Kubernetes Expert 3 years Expert 4 years J2EE/JSP/Servlets Advanced 2 years Spring (Core, MVC) Advanced 2 years Hibernate Advanced 2 years Machine Learning Expert 4.5 years JavaScript/jQuery Expert 4 years HTML5/CSS3 Expert 4 years NoSQL (HBase, Cassandra) Expert 4 years Databases/SQL Expert 4 years Linux Expert 4 years Python Intermediate 2 years TensorFlow Expert 3 years Keras Expert 3 years Kubeflow Intermediate 1 year PyTorch Advanced 2 years PROFESSIONAL EXPERIENCE

Company Soft Development Company, Ukraine Role Team Lead/Scala Developer/Data Scientist Date January 2017 – Present Responsibilities Development of reactive and scalable applications. Analysis of large amounts of data and designing reliable, fast, accurate AI for solving problems of prediction, estimation and classification. Leading a team of software engineers and data scientists

MAJOR PROJECTS

Project #1 Image Measuring App Platform Anaconda Databases MongoDB Technologies Python 3, Vue.js, OpenCV Third Parties Darknet Tools Flask, Git Role Data Scientist, Senior Software Developer Team size 3 Description An application for an insurance company that detects small damaged areas in houses, considers the area of damage and also conducts checks to avoid insurance fraud. Responsibilities ● Responsible for AI part and back-end server developing ● Collecting data for training ● Selected right tools and frameworks for the object detector ● Developed object detector using Darknet and Python3 ● Developed server to communicate with MongoDB Project #2 IoT aggregator Platform Quarkus, Kubernetes Databases MongoDB, Readis and Hazelcast as In-Memory cache Technologies Quarkus (GraalVM, Vert.x), Kafka, Kubernetes, Helm, Istio, Kubeflow, Angular, Maven, Java, Python3, Strimzi Third Parties None Tools Git, IntelliJ IDEA, Swagger codegen Role Senior Software Engineer, Data Scientist Team size 2 Description IoT aggregator aiming to provide a single access to all available smart devices. It uses complex and scalable architecture based on Vert.x as a web framework and Kubernetes as a platform for microservices. This project combines multiple technologies and approaches to achieve this goal: Machine Learning, Reactive Applications, etc. Responsibilities ● Developed microservices using Vert.X ● Maintained Kubernetes resources ● Participated in development of ML based solutions ● Developed new features and fixed bugs in front-end ● Created and configured Kafka cluster ● Provided data analysis based on collected data

Project #3 Security System Platform Anaconda Databases None Technologies Python 3, TensorFlow, Keras, NumPy, Docker, Kubernetes, Darknet, OpenCV, ONNX Third Parties Luxand Tools PyCharm, Git Role Data Scientist Team size 1 Description Security System is an AI driven application that allows programmers to use their computers without fear that someone can watch their code or make some photos of it. The application consists of two parts: a face detector based on Luxand and a phone detector based on Darknet YOLO and OpenCV Dnn implementation. Responsibilities ● Responsible for AI part ● Selected right tools and frameworks for the face detector and phone detector, helped to integrate and configure Luxand ● Collected and labeled dataset for the phone detector ● Developed the phone detector using Darknet YOLO and OpenCV Dnn

Project #4 Face Recognition Platform Anaconda Databases PostgreSQL Technologies Python 3, TensorFlow, Keras, NumPy, Docker, Kubernetes, OpenCV Third Parties None Tools PyCharm, Git Role Data Scientist Team size 2 Description Face Recognition is a neural-network based application that enables a higher level of security in an office. It allows checking a person’s ID without any key just by processing his or her face image/live video stream. This application consists of several sub networks that make the model scale invariant and robust to new images. Responsibilities ● Responsible for a ML pipeline ● Participated in a ML model implementation (selection, implementation, tuning), dataset collection, dataset preprocessing ● Created the robust and fast siamese neural network based on a triplet loss

Project #5 Kubkaf Platform Microsoft Azure Databases PostgreSQL Technologies Scala, Slick, Akka, Kafka, Swagger, REST, Play Framework, SBT, Azure Java API, Skuber, WebSocket, Docker, Kubernetes Third Parties None Tools IntelliJ IDEA, Git Role Scala Developer Team size 4 Description Kubkaf is a Kafka-as-a-Service platform. It allows deploying Kafka clusters without any deep configuration in Microsoft Azure Cloud. It supports many Kafka versions and cluster configurations (number of nodes, etc.). Also, it utilizes all advantages of Docker and Kubernetes to provide a fault-tolerant, scalable, and resilient system. Responsibilities ● Сreating of a Kafka-as-a-Service module ● Microsoft Azure management ● Dockerfile creation ● Kubernetes management ● Kafka management

Project #6 Recommendation System for a book shop Platform SBT, Docker Databases Cassandra Technologies Scala, Play Framework, Java, Phantom SBT, Spark, SparkML Third Parties None Tools IntelliJ IDEA, Git Role Scala Developer Team size 2 Description A system that’s used for predicting user’s rating and opinions about books. The system makes predictions based on the opinion of every user. Besides, it calculates user’s and book’s feature vectors alone, so developer/ administrator can control it. Responsibilities ● Responsible for a Recommendation System micro-service, writing tests and bug fixing ● Developed Recommendation Engine based on Spark Structured API (ALSModel), Streaming API (implemented the BSGD algorithm for it) and Akka ● Created a lot of Actors for Spark model synchronization and updating without any downtime ● Development of REST controllers based on a Play Framework later connected to Akka through a level of service classes

Project #7 GDPR Compliance Platform SBT, Docker Databases CouchDB Technologies Java, Scala, Lucene, Hadoop, Spark Third Parties None Tools IntelliJ IDEA, Git Role Data Scientist Team size 2 Description This program provides the possibility to check how different Data Processors implement GDPR. It splits document into parts using key-words, saves them in the DB. Another part analyses parts and predicts the quality of implementation. Responsibilities ● Responsible for creation of ML module, development of unit tests and bug fixing ● Data engineering (visualization, preprocessing), feature engineering (extraction, generation) and model creation (choosing, validation, testing) ● Responsible for Spark Estimators and Transformers ● Participated in the development of a search engine used for data extraction, in particular, developed highlighter based on Lucene based highlighters ● All tests are done using the spec2 library

Project #8 Travel Assistant Platform Play Framework, Sbt Databases PostgreSQL Technologies Scala, , Doobie, Akka, Cats, Swagger, REST Third Parties None Tools IntelliJ IDEA, Git Role Scala Developer Team size 5 Description A platform for planning and organizing international traveling. Includes an advanced system for booking plane tickets and a variety of ground and water transport, building travel routes, an advanced search system, customer care, email distribution and others. Responsibilities ● Responsible for the creation of test-database and manipulations with it. It was used Cats, Doobie and H2 to complete this task ● Worked with the services of the project, optimized a little bit of validation part of this service (constraints). Some tasks were done based on Akka for concurrent processing of user data and requests covered the project with a lot of tests

Project #9 Company Team Chat Platform Maven Databases MySQL Technologies Java, Spring, Spring MVC, Hibernate, jQuery, JavaScript, Webpack Third Parties None Tools IntelliJ IDEA, Git Role Java Developer Team size 5 Description This portal provides an ability to exchange messages, files and store message history. A user can pick favorite messages, create rooms, set notifications, create public and private chat rooms, search messages in the archive by date or by some text pattern, etc. Responsibilities ● Responsible for the creation of some parts of a DAO system of this application, also participated in the development of Spring MVC controllers and service/model layer ● Managed configuration files for a Spring IoC. It was removed all repeatable code from the application using Spring AOP

EDUCATION Date Degree HEI 2016 – 2020 Bachelor's degree V. N. Karazin Kharkiv National University

LANGUAGES

Language Level English Upper-Intermediate Russian Native Ukrainian Native