Resume

Resume

About

  • Experienced and results-driven CTO with a solid background in backend development and a proven track record of successfully scaling startups. Seeking a challenging leadership role to leverage my technical expertise and strategic vision in driving innovation and growth

  • Solid background in building and mentoring a talented engineering team, fostering a culture of innovation, collaboration, and continuous learning

  • Have a solid experience in software development (16 years in total), primarily in the gambling, bank sector, air transport industry

  • Driven by a passion for maximum growth, always try to bring engineering inspiration and enroot it within development teams

  • Have practical experience in setting high-quality standards and challenging goals, transparently achieving OKRs, defining the global vision, interviewing Team+Tech leads, leading dev/architecture summits

  • Finding a good tradeoff between business needs and reality, commitment and delivering things in time is in my DNA

  • Interested in cloud computing, big data and real-time analysis, machine learning, data science, automation, AI, highly scalable systems

Experience

  • CTO - 4 years

  • R&D manager - 2 years

  • Solution / Software architect - 8 years

  • Backend developer - 16 years

Work experience

Oct2019 - now CTO Patrianna

About project:
Worldwide social entertainment/gaming platform with a big focus on the North American market.

Responsibilities:

  • Lead development process

  • Design system from scratch

  • Support full cycle development

  • Setup site / corresponding development team in Kyiv: backend / frontend developers, QA

  • Build a scalable platform without any single point of failure

  • Regular feedback meetings and communication with stakeholders

  • Manage development OKRs

  • Regular feedback sessions with developers

Achievements:

  • Joined the company as one of the founding members and played a pivotal role in growing the team from 3 to 90+ employees in 3 years

  • Build a fully functional social gaming platform from scratch and deliver it to production

  • Integrate with various payment providers: Paypal, Stripe, Skrill, payWithMyBank, fiserv

  • Integrate with various game providers: pragmatic, netent, markortech, playson, etc

  • Integrate with fraud prevention system: seon

  • Integrate with chargeback prevention systems: chargeback911

  • Setup proactive monitoring solution with Sentry for both backend/frontend

  • Setup production delivery pipeline from scratch

  • Setup React UI delivery pipeline from scratch

  • Huge revenue income

  • Build an internal loyalty, engagement system

  • Develop multi-branded solution which allows them to set up new sites easily and share one environment

  • Developed and kick-started 10 Java micro-services

  • Develop replication chain between PostgreSQL and BigQuery, later AlloyDB with datastream

Technologies:

  • Kafka / GCP pubsub

  • Docker Swarm with traefik / k8s

  • Terraform

  • Apache Spark

  • React.JS / next.JS / builder.io / Vercel

  • PostgreSQL/AlloyDB

  • Docker / k8s

  • Grafana / influxDB

  • Jgroups / Resteasy

  • Ebean

  • Netty

  • Spring boot

  • Sentry

  • ElasticSearch

  • Debezium

  • Temporal.IO

  • gRpc

  • Looker / metabase

  • retool

Sep2017 - Oct2019 R&D manager in Playtech (IMS engagement unit)

About project:
IMS engagement department is a common industry name for several widely used and recognizable services not directly coupled to gameplay,
but rather used to maximize conversion potential, leverage loyalty and value, and improve retention of players.
Engagement is a key surrounding platform to core IMS and includes the following products in the portfolio: Campaign Manager / Player journey / Leaderboards / Inbox / Chat.

Responsibilities:

  • Lead 5 development teams

  • Actively design architecture of new generation BI-powered engagement services

  • Lead technical initiatives in the engagement department

  • Collaborate achievements to Estonia team/regular synch meetings

  • Integrate Kyiv's team achievement into the wider community of dev teams

  • Regular sessions with team leaders to improve their managerial skills

  • Assistance with daily issues and production defects

  • Troubleshoot and profile edge cases in production and during performance testing

  • Business trips to Estonia / Israel, on-site workshops

Achievements:

  • Successfully delivered 3 new next-generation services to production: Leaderboards, Player journey, inbox

  • Significantly improved stability of existing Campaign Manager

  • Merged newly acquired Beehive startup into existing in-house solution

  • Fully cloudified all Kyiv services

  • Built a transparent communication channel between Estonia / Ukraine offices

  • Designed next generation Kafka based Event Streaming solution for both internal and external consumers

  • Introduced feature-branch development approach with supporting QA

  • automation ahead of development timeframes

  • Designed next generation Central Logging Solution capable to process terabytes of logs per minute

  • Delivered pro-active monitoring solution into production by using Sentry

  • Improved distributed tracing between micro-services by using Jaeger

  • Led UI rewriting efforts of standalone widgets and admin interfaces to React.JS

  • Collaboration with the security team, enhanced security aspects in infra and applications

Technologies:

  • k8s / docker swarm

  • terraform / ansible

  • Postresql / MariaDB

  • Cassandra

  • ElasticSearch

  • Redis

  • Jaeger

  • Sentry

  • Spring stack

  • Vault

  • Akka

  • Apache Flink / Spark

  • Kafka

  • avro / protobuf / messagePack

  • React.JS / Vue.JS

  • Infinispan

  • InfluxDB

Feb 2013 - Sep2017 Core Platform lead in Playtech (IMS engagement unit)

About project:
IMS is the power behind Playtech's product portfolio, providing the set of tools needed to successfully run and manage every aspect of playtech business (account/login/fraud/wallet/loyalty/communications/bonus/regulations). IMS is complete and fully-integrated suite of services intuitively guides the management of player base, enabling licensee to optimize marketing spends, maximize cross-selling and conversion potential, and leverage player loyalty and value. The IMS is an open platform that allows operators to plug in any third party gaming products, tools and systems, resulting in a completely unified and centralised operation benefitting from the system’s vast capabilities across all business activities. Central to our IMS is cross-platform which provides players with a single login for all games and platforms. This means your players can enjoy all their favorite games anytime, anywhere and transition freely across games.

Responsibilities:

  • Lead cloudification stream and platform improvements

  • Actively participate in the design, evaluation of reporting DB for BigData/BI

  • Lead micro-service decoupling from a huge monolithic application

  • Design modular APIs for mobile clients and REST API

  • Re-design existing VMWare deployment model to cloud

  • Contribute to a new central logging solution for terabytes of logs

  • Evaluate NOSQL databases

  • Design real-time streaming BI platform

  • Prototyping of new wallet component

  • Architecture documentation creation

  • Regular business trips to Estonia, Bulgaria, Israel

  • Lead a group of senior developers/architects in the platform improvements stream

  • Continuous communication with stakeholders, high-level design and movements reporting

  • Business trips to Estonia / Israel, on-site workshops

Achievements:

  • Introduced concept of PaaS/cloudification as opposite to existing deployment model

  • Led PoC of cloud foundry/docker/mesos/k8s evaluation

  • Decoupled login service from IMS and deploy as a separate service, enabling SSO experience

  • Designed real-time streaming applications for BI applications with apache flink/kafka with Hadoop based persistence

  • Rewrote the backend core library and adopted all aspects of that library to dynamic

  • Cloud environment: logging, configuration management, lifecycle, service discovery, inter-service communication, elastic load-balancing, failure detection, retires, enable resilience in distributed systems

  • Successfully cloudified few important components of IMS and deploy new stack to major licensees

  • Documented cloudification approach for different use-cases: front-end servers with REST / socket.io / sockJS endpoint

  • Improved performance and responsiveness of key components by caching data in redis and utilizing asynchronous processing flows

  • Managed core platform team - group of architects and senior developers

Technologies:

  • Cloud foundry

  • k8s

  • Keycloak SSO

  • CAS

  • Docker

  • Apache Flink

  • Apache Kafka

  • Zookeeper / Apache Curator

  • Redis / Redis cluster

  • Aerospike

  • RabbitMQ

  • Netflix OSS

  • Netty

  • Socket.io

  • Hadoop hdfs

  • Hbase

  • Hive

  • Phoenix

  • Akka

  • CXF / Resteasy

  • RAML

  • Jetty

  • vault / etcd / consul

  • Cassandra / Datastax

  • Mysql / MariaDB

Sep 2012 - Feb 2013 Software architect in Playtech (Casino unit)

About project:
Next-generation open casino gaming platform

Responsibilities:

  • Lead next-generation casino platform design

  • Design Open API for C++/flash/HTML5 clients

  • Transparent system upgrade improvements

  • Introduce the concept of smart-caching of player data

  • Lead scrum team in Kyiv, scrum

  • Business trips to Estonia / Israel, on-site workshops

Achievements:

  • Reverse-engineered existing casino backend code

  • Identified serious performance bottlenecks in the existing system and fixed them

  • Designed new open API (both for games and server-2-server integration), participated in inter-systems decoupling, mainly in casino/IMS, successfully

  • Migrated native and mobile clients to new API

Technologies:

  • Netty

  • Socket.io

  • Protobuf

  • Hornetq

  • Apache Zookeeper / Apache Curator

  • Redis

Feb 2012 - Sep 2012 Software architect in Incom

About project:
MCPS is a new Kievstar generation marketing platform that allows to release new business telecom products and services/create new tariff plans faster. The system is able to handle the load from 35M subscribers for activation/de- activation/prolongation/migration services and has dynamic nature in terms of data model.

Responsibilities:

  • Quickly get rid of fundamental architecture issue that prevents the system to be in production

  • Improve stability of the system under load

  • Create a future system evolution plan

Achievements:

  • Joined a small team and in a short period of time got rid of production blockers, mainly deadlocks, excessive insane memory usage, inefficient serialization of huge memory structures, database access patterns, GC tuning for massive in-memory data structures

  • significantly improved the stability and responsiveness of the system, and successfully delivered the system to production.

Technologies:

  • JBoss AS

  • JBoss cluster (jboss-ws, jboss-cache)

  • Ehcache

  • Spring

  • JMS / HornetQ

  • maven3

  • Kryo / Xstream

  • SOAPUI

  • Groovy

Mar 2011 - Feb 2012 Software architect in Luxoft (Sita Aero unit)

About project:
Booking and flight inventory engine for performing non-trivial financial calculations over data graphs (100 Million flight inventory records, Connections networks) with 100,000 (mostly read-only) business transactions per second. This engine is built on top of Gigaspaces Extreme Application Platform with write-behind database synchronization semantics. System endpoints are web- services integrated with other Voyager systems over SOA patterns and Oracle Service Bus integration platform.

Responsibilities:

  • Design of extremely load system

  • Match corporate SOA principle

  • Technically lead the distributed teams between Kyiv/Omsk/Saint Petersburg locations

  • Setup code quality monitoring, code review to match code quality expectation from customer and pass blackduck/findbugs/checkstyle inspections

  • Setup performance test environment configured for extreme performance with advanced gigaspaces/coherence configurations, integrate with profiling tools

  • Coordination of tech-leaders, participation in sprint planning, design sessions, maintain technical debts backlog

  • Technical/architecture feedback to SITA Voyager reference architects

  • Business trips to London and Atlanta(US), on-site workshops

  • Architecture documentation

Achievements:

  • joined project and Kiev department as supporting architect of SITA’s Release1 and technical architect of Luxoft’s Release 2, identified several fundamental architecture problems during reverse engineering stage, collaborated and highlighted them to stakeholders

  • Actively driven the system re-design for Release2, lead architecture/technical changes

  • Complete rework on Gigaspaces usage patterns (data partitioning change, change of synchronous persistency to asynchronous with write-behind semantics, change client-server communication protocol, got rid of LRU, custom smart ExternalDataSource proxy)

  • Build 2 steps process system: first is to identify Travel Options in weblogic’s coherence tier over carrier networks and pre-built routings, second to get the actual flight inventory from gigaspaces backend with Map-Reduce pattern

  • Re-design oracle database persistence patterns. Successfully delivered system to production. Team grew up to 150 people in 1/2 year. Successfully overtook existing legacy code and quickly fixed most noticeable architecture issues

Technologies:

  • Gigaspaces XAP

  • Oracle Coherence

  • Oracle weblogic

  • Oracle service bus

  • Oracle entitlement service

  • JMS/JTA/MDB/EJB

  • OSGI

  • spring core/aop /spring-ws

  • spring dynamics

  • spring batch

  • jibx

  • jaxb

  • hibernate

  • plsql

  • Oracle 11

  • Jbehave

  • JMeter

  • JRockit

  • JINI

  • JavaSpaces

  • Freemarker

  • Maven3

  • OpenEJB

  • Logback

  • XStream

Oct 2008 - Jun 2010 Senior oracle/java developer in Luxoft (UBS unit)

About project:
SABRE (Swap algorithms and booking reporting engine), prime brokerage department (bundled package of services offered by investment banks and securities firms to hedge funds and other professional investors needing the ability to borrow securities and cash to be able to invest on a netted basis and achieve an absolute return). UBS provided advanced trading for their clients using our SABRE and system managed huge amount of positions, cash payments and able to re- calculate any back-dated activity for the whole period with subsequent reporting updates. Near 150 distributed jobs are running during business day.

Responsibilities:

  • Review and redesign of existing system architecture, new features development

  • Application performance optimization (memory consumption, hibernate, SQL, PLSQL)

  • Regular code inspections

  • Business trips to London

  • Integration with external risk management systems

  • Collaboration with London based team (architects, business analysts)

  • Production support, hot production issues resolution

  • Improvements in long running manual testing to automated

  • setup CI

Achievements: Joined Luxoft's UBS department just at the begging of Kiev's site creation, and as part of Kiev SABRE team, gained trust and evolved from bug fixing team to fully mature, capable to deliver business critical requirements. Influenced developers to follow TDD/BDD and actively worked on setup of continuous delivery. Improved several business long-running critical EOD reports.

Technologies:

  • Spring core/jdbc/tx/aop

  • EJB 2 / MDB

  • Ant

  • Hibernate

  • Weblogic

  • Clearcase/Cleatquest

  • RAD

  • Flux job scheduler

  • C#/JAVA web-services with axis 2

Oct 2007 - Oct 2008 Lead Java developer in CCG

About project:
In-house project for collection agency: registering different kind of activities (telephone communication, sms-ing, email-ing and letter-ing), loading huge amount of payment updates, intraday / EOD reporting. Application provided unique black list search capabilities available for company’s clients.

Responsibilities:

  • Full cycle development of an application

  • Database schema design

  • Production support

  • Comprehensive user interface design

  • Business requirement gathering

Achievements: Takeover java project when existing senior java developer decided to leave company, in a few months implemented minimal set of requirements, released application to production. After first battle-tested production release, team has been upgraded to 3 java developers and 2 oracle developers. Proactively fixed first serious of production incidents.

Technologies:

  • ZK

  • spring core/jdbc/tx

  • EJB 3/MDB/JMS

  • Hibernate 3

  • Oracle 10

  • unix/shell

  • maven

  • Jboss Portal

  • Quartz

Certifications

Machine learning by Andrew Ng

Course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI). The course will also draw from numerous case studies and applications, so that you'll also learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam),

Gigaspaces: advanced usage by Robin van Breukelen

This training is designed to provide you with the knowledge required to build high throughput, low latency applications for scaling with GigaSpaces XAP. This training will teach you how to use the most advanced features of the platform and how to make the best usage of the platform for your system's needs. A syllabus tailored to your needs is provided with this course. Advanced data grid concepts and topologies

  • Advanced messaging

  • Advanced processing unit configuration

  • Advanced Processing Paradigms

  • Advanced persistency

  • Advanced Web Application Support

  • Advanced Security

Agile Software Development: Hands-On Practices, Principles, Agile Modeling, and TDD by Craig Larman

  • Large-Scale Scrum: Thinking & Organization Tools

  • Systems thinking

  • Causal loop modeling

  • Organizational design impact

  • Change strategies

  • Deep-dive Q&A

  • Preparing for the future organizational-redesign workshop

BDD and TDD best practices by John Smart

  • Principles of Agile Requirements Gathering

  • Discovering and defining requirements, BDD-style

  • Writing high-level executable specifications (JBehave, Cucumber, SpecFlow)

  • Introducing Test Driven Development, BDD-style

  • Unit tests as executable specifications

  • Writing high-quality unit tests (JUnit, NUnit, Spock, NSpec, Jasmine)

  • Unit tests as living technical documentation

  • Data-driven testing

  • Interaction-based testing (mocks, stubs, doubles)

  • discovering system design using mocks

  • Refactoring strategies

  • TDD for legacy code