Контакты

Андрей Кушнир

Почта
me на этом домене
Jabber
Аналогично почте
Telegram
orhideous
Телефон
+380671387767

Что умею

  • работать со Scala-кодом и решениями из экосистем cats/zio;
  • писать тесты, внятно документировать код и читать чужую документацию;
  • использовать веб-фреймворки и решения к ним;
  • проектировать высоконагруженные бекенды и ETL для больших данных;
  • выбирать подходящие средства для решения проблемы;
  • организовывать работу в команде коллег для создания продукта;
  • эффективно использовать VCS, включая понимание модели git-flow;
  • работать с системами непрерывной интеграции;
  • разбираться во фронтенде и современном JS (хоть и не очень-то и люблю этого делать);

Работал c

  • БД, реляционными и нереляционными, key-value хранилищами;
  • большими веб-порталами;
  • апачевским стеком решений для больших данных, включая облачные;
  • интеграцией сторонних API, включая платежные системы и банки;
  • поисковым движками;
  • рефакторингом legacy-кода;
  • облачными инфраструктурами;
  • построением архитектуры распределённых приложений;
  • системами на акторах.

Что хочу делать

  • разрабатывать и внедрять эффективные решения каких-то бизнес-задач;
  • видеть, как мои решения выкатываются на прод и приносят пользу;
  • писать код не «на вчера», а эффективный и чистый;
  • работать в компании коллег, более умных и опытных, чем я.

Что НЕ люблю

  • бодишопы;
  • неадекватный менеджмент;
  • глупость.

Личные качества

  • Прагматик, увлеченный понравившимся делом.
  • Люблю узнавать новое, учиться — и применять полученные знания в работе над проектами.
  • Обладаю хорошей фантазией и памятью, умею понятно рассказать и объяснить другим свои идеи.

История работы

2021-2022: Проект парковок

Обязанности

Поддержка внутреннего монолита на основе Akka и Akka-Persistence. Создание микросервиса закрытых парковок.

Интеграция с платёжными системами.

Использованные технологии

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

2020-2021: Tranzzo

Обязанности

Создание архитектуры внутреннего Data Lake, оптимизация ETL-процессов.

Использованные технологии

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

2014-2020: EVO

2020 — финтех

Обязанности

Написание и поддержка интеграций с банками для KillBill и внутреннего платёжного шлюза.

Использованные технологии

  • Scala, Java
  • http4s, sttp, Play, ZIO, cats, Akka, Lagom (немного)
  • KillBill, Google Cloud Engine

2017-2020 — аналитика

Обязанности

Построение архитектуры внутренней системы обработки аналитики пользователей, разработка инструментов, библиотек (twilight, sparkle, cogwheel, glimmer) и документации по покрытию компонентов, проведению A/B-тестов.

Написание и поддержка инструментов для трекинга (Clerk), тренинги и обучение для других команд.

Поддержка внутреннего форка Apache Spark, развертывание и частично администрирование Hadoop-кластера. Унификация всех ETL-процессов на единой платформе (AirFlow), доработка её под нужды компании.

Использованные технологии

  • Scala, Java, Python/Rust (немного)
  • http4s, cats, Spark API, sbt
  • Vagga, Lithos, Apache Spark, YARN, HDFS, Kafka, AirFlow, Jupyter Notebook

2014-2017 — бекенд

Обязанности

Разработка продуктового каталога, оптимизация скорости загрузки страниц. Создание компонентов для новых продуктов (bigl.ua). Внутреннее тестирование своего решения для контейнеризации (vagga/lithos).

Обучение интернов (ментор в EVO Summer Python Lab).

Использованные технологии

  • Python, JS
  • aiohttp, Pylons (свой форк), GraphQL, rx.js
  • Docker, PostgreSQL, MySQL, Kafka, ElasticSearch, Redis, webpack

2014: PlasticJam

Обязанности

Проектирование и разработка системы отслеживания заказов, оптимизация бекенда. Внедрение CI/CD для разворачивания и тестирования проекта, рефакторинг монолита.

Разработка архитектуры сбора метрик пользователей, реализация её на Scala для большей производительности.

Использованные технологии

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

2013: Yandex

Обязанности

Интеграция helpdesk с внутренними сервисами Яндекса.

Использованные технологии

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

2011-2012: Национальный Авиационный Университет

Обязанности

Поддержка lib.nau.edu.ua, администрирование библиотечного сегмента сети, серверов и связанных с ними сервисов. Доработка бекенда и классификатора для каталога библиотеки, ускорение поиска книг.

Использованные технологии

  • JavaEE
  • Tomcat

Сторонние проекты

  • MC4EP: Игровой сервер Minecraft
  • ponyFiction: Библиотека фанфиков
  • …ряд внутренних библиотек, которые тут перечислять долго.