Skip to main content

CV

About

Software Engineer with 14+ years of experience, mostly Java and JVM-based languages such as Clojure and Groovy.

Passionate about Java, JVM, performance, benchmarking, data structures and reactive streams.

Looking for new challenges. Product companies are preferable, full time, remote is preferable for now, but an office is not an issue; relocation to another city/country is not an issue.

Contacts

Skills

  • Languages: Java (6+), Clojure, Python, JavaScript, Go, Shell (sh, bash, zsh)
  • Frameworks: Spring (Boot, Web, etc.), Reactive Streams (RxJava, Project Reactor), gRPC, Quarkus, Apache Spark, ReactJS, Redux
  • Databases & Messaging: PostgreSQL, Redis, Kafka
  • DevOps: Docker, Docker Compose, Docker Swarm, Kubernetes, Ansible, Google Cloud Platform, AWS
  • OS: Linux (Mint, Ubuntu, Alpine, CentOS), macOS, Windows

Experience

Data Platform Lead — Fozzy Group

May 2021 – Present · Remote

Tech: Go, Java

Senior Java Software Engineer — Grid Dynamics

Oct 2020 – Aug 2021 · Lviv, Ukraine

Full-Stack Engineer — Self-Employed

Jan 2020 – Sep 2020 · Lviv, Ukraine

  • Personal R&D project — built a Kubernetes cluster on bare metal from scratch with Ansible playbooks (VirtualBox: Alpine, CentOS, Ubuntu).
  • Developed a backend for a Telegram bot for scheduling different services (Java 11, Quarkus, GraalVM native image, Docker).
  • Data processing for a retail company's recommendation platform, including some admin-console UI work.

Tech: Java, Go, Python, TypeScript, Quarkus, Spring Boot, Apache Spark, Kafka, Redis, PostgreSQL, Kubernetes, Docker, Ansible, Azure Data Lake, Angular, Prometheus, Grafana

Software Java Engineer — N-IX

Aug 2019 – Dec 2019 · Lviv, Ukraine

  • Implemented a new gateway protocol — SMGP (Short Message Gateway Protocol) — with extensive unit-test coverage, for a client providing technology services to telecommunications companies.
  • Fixed security vulnerabilities found with Fortify on Demand and SonarQube.
  • Set up a Docker Swarm cluster with GitLab, Jenkins and SonarQube on a local Azure cloud to speed up the vulnerability-fix feedback loop.

Tech: Java 6, Apache Maven, Jenkins, SonarQube, Docker Swarm, Subversion

Senior Java Developer — Intellias

Nov 2018 – Mar 2019 · Lviv, Ukraine

  • Implemented a new map-matching algorithm based on Hidden Markov Model + Viterbi algorithm.
  • Provided a comprehensive comparison of map-matching algorithms and extended the matching pipelines with multi-algorithm support.

Tech: Java 8, Apache Maven, Jenkins, Git (Gerrit)

Software Engineer — LoopMe

Jul 2014 – Oct 2018 · Dnipro, Ukraine

  • Developed a digital-advertising platform — high-load ad server, ad-targeting algorithms and real-time-bidding APIs — first in Clojure, then migrated fully to Java.
  • Received the "Company Hero" award (given once every six months) for single-handedly delivering a difficult cross-language PoC integration.
  • Spent ~2 years in the Data Science team building high-performance Java services delivering prediction and bidding models to production with ~1 ms response at the 99th percentile.
  • Kept the framework footprint deliberately small, which eased later migrations across Java versions (8 through 12).

Tech: Java (8–12), Clojure, Spring Boot, RxJava, gRPC, Spark, Kafka, Cassandra, PostgreSQL, Redis, Elasticsearch, Clickhouse, Docker, Kubernetes, Jenkins, Grafana, Prometheus, Datadog

Java Developer — Ciklum

Jul 2014 – Nov 2015 · Dnipro, Ukraine

  • Worked on the LoopMe project while it was Ciklum's outstaff project — see the LoopMe entry above.

Middle Software Engineer — Privat Bank

Jul 2013 – Jul 2014 · Dnipro, Ukraine

  • Developed internal web projects for the business department.

Tech: Java (6–8), JavaScript, Spring 3, jQuery, Angular 1, PostgreSQL, Redis, Apache Maven, Jenkins

Junior Software Engineer — Privat24 (Privat Bank)

Feb 2012 – Jul 2013 · Dnipro, Ukraine

  • Developed and modernized the Ukrainian internet-banking system Privat24 (Ukraine, Georgia and A-Bank flavours) — features, support, bugfixing, unit testing.
  • Migrated the Privat24 Georgia project from Java 6 + Apache Ant to Java 7 + Spring + Apache Maven + Git over four weekends, without a mentor — stressful, but a formative experience.

Tech: Java 6/7, JavaScript, Java EE (EJB, Resin), Spring 3, jQuery, Backbone, Sybase, Redis, RabbitMQ, Jenkins

Education

Master of Computer ScienceUkrainian State Chemical Technology University
Sep 2010 – Jun 2011 · Dnipro, Ukraine

Bachelor of Computer ScienceUkrainian State Chemical Technology University
Sep 2006 – Jun 2010 · Dnipro, Ukraine

Languages

  • Ukrainian: Native
  • English: Intermediate
  • Russian: Fluent
  • German: Elementary

Hobbies

Traveling, Motorcycles, Gym, Football, Cars, Bicycles