Contacts

Andriy Kushnir

E-mail
me on this domain
Fediverse
@orhideous@twilight.garden
Matrix
@orhideous:twilight.garden
Telegram
orhideous
Phone
+380671387767

What I can do

  • create and deliver products for business and customer needs;
  • understand the context of the business, its domain model and have a big picture view;
  • quickly learn, read documentation for frameworks/APIs/third-party services/etc;
  • organize and present my thoughts in the form of convenient notes and technical documentation;
  • evaluate pro et contra to make the most rational decision;
  • construct a coherent picture of the service or processes in general just from disparate pieces of information;
  • defend your opinion in the discussion, supporting it with arguments, not emotions.
  • test my own and, if necessary, other people’s code;

Skills

What I know, what I did and what I worked with

Python

  • I know the language itself and ecosystems around it well, including frameworks (Pylons, Django, Flask, aiohttp, FastAPI) and popular libraries as well;
  • worked with asynchronous code;
  • integrated C/Cython extensions for performance-critical computations;
  • I understand ORM, know their strengths and weaknesses (created dialect support for ClickHouse)
  • migrated and refactored huge code bases;
  • separated microservices from monoliths.

Scala

  • used the language as both «better Java» and «worse Haskell»;
  • understand the concepts of functional programming and use them in practice;
  • have experience with the cats ecosystem, a little less with ZIO;
  • profiled and optimized GC in particular and JVM in general for different types of workloads;
  • I’m familiar with systems on actors (Akka, a little less — Lagom)

DB and infrastructure

  • worked with relational (MySQL, PostgreSQL, SQLite), non-relational (MongoDB, ES), and specialized (ClickHouse, DuckDB, TimescaleDB) databases;
  • integrated search engines, Manticore and ElasticSearch;
  • familiar with key-value databases and the specifics of their application;
  • have pretty good experience with Kubernetes: from bare metal deployments (including Helm) to work in cloud environments, such as GCP environments, for example, GCP;
  • know modern monitoring tools (Grafana/ELK/Graylog/Kibana), including their integrations into existing software.

Big Data

  • worket a lot with Apache-based stack (Hadoop, HDFS, Hive, Spark,…) to create data warehouse;
  • developed and maintained in-house versions of Apache Spark;
  • know how to create and debug ETL processes using AirFlow.

Miscellaneous

  • Can understand modern frontend and JS (although I don’t really like to do it);
  • long work with self-hosted solutions has given me system administration skills that often come in handy;
  • For my hobby projects I use some other languages: JS/TS, Java, Rust, PHP, a little bit of Go, C++/Qt, C#.

Personal qualities

  • Pragmatist, passionate about what I do;
  • I like to learn new things, study and apply the knowledge gained in practice;
  • I have a good imagination and memory, I can explain clearly my ideas to others.

What I want to do

  • Develop and implement effective, ethical solutions that improve people’s lives;
  • write efficient and clean code, not quick’n’dirty-ASAP-mess;
  • work in the team of smarter and more experienced people than me.

What I do NOT like

  • so-called «body shops»;
  • inadequate management;
  • stupidity.

Work history

2021-2022: Parkings

Responsibilities

Supported a distrubuted backend based on actor architecture (Akka and Akka-Persistence were used). Created a microservice for closed parkings.

Integrated some payment systems (local one and Stripe).

Technologies used

  • Java, Scala
  • Akka, Play, Tapir
  • GCE, k8s

2020-2021: Tranzzo

Responsibilities

Creating architecture for DataLake, optimizing ETL processes.

Technologies used

  • Scala
  • http4s, Play, ZIO, cats, KillBill
  • Google Dataproc, Google Composer

2014-2020: EVO

2020 — fintech

Responsibilities

Writing and supporting integrations with banks for KillBill and internal payment gateway.

Technologies used

  • Scala, Java
  • http4s, sttp, Play, ZIO, cats, Akka, Lagom (a bit of)
  • KillBill, Google Cloud Engine

2017-2020 — data engineering

Responsibilities

Building an internal user analytics processing architecture, developing tools, libraries (twilight, sparkle, cogwheel, glimmer) and documentation, running A/B tests.

Writing and maintaining tracking tools (Clerk), training and coaching for other teams.

Supporting the internal Apache Spark fork, deploying and partially supporting Hadoop cluster. Unification of all ETL processes on a single platform (AirFlow) and its tweaks to the company’s needs.

Technologies used

  • Scala, Java, Python/Rust (a bit of)
  • http4s, cats, Spark API, sbt
  • Vagga, Lithos, Apache Spark, YARN, HDFS, Kafka, AirFlow, Jupyter Notebook

2014-2017 — backend

Responsibilities

Product catalog development, page load speed optimization. Creating components for new products (bigl.ua). Internal testing of in-house containerization solution (vagga/lithos).

Mentorship in EVO Summer Python Lab.

Technologies used

  • Python, JS
  • aiohttp, Pylons (fork), GraphQL, rx.js
  • Docker, PostgreSQL, MySQL, Kafka, ElasticSearch, Redis, webpack

2014: PlasticJam

Responsibilities

Order tracking system design and development, backend optimization. Implementing CI/CD to deploy and test the project, monolith refactoring.

Develop architecture to collect user metrics, implementing it in Scala for better performance.

Technologies used

  • Scala, Python
  • Play, Flask, React.js
  • Mercurial, Docker, Redis (Cluster), AWS

2013: Yandex

Responsibilities

Integration of helpdesk with Yandex internal services.

Technologies used

  • Python, JS
  • Django
  • Git, REST, Ansible

2011-2012: National Aviation University

Responsibilities

Support for lib.nau.edu.ua, administration of the library network segment, servers and related services. Backend and classifier optimization for library catalog, speeding up book searches.

Technologies used

  • JavaEE
  • Tomcat

Side projects

  • MC4EP: Minecraft game server
  • ponyFiction: Fanfiction library
  • …a list of internal stuff, too long to mention here.