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
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
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
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