Yaroslav Lepenkin, Developer in Dubai, United Arab Emirates
Yaroslav is available for hire
Hire Yaroslav

Yaroslav Lepenkin

Verified Expert  in Engineering

Kotlin Developer

Dubai, United Arab Emirates

Toptal member since March 23, 2021

Bio

Yaroslav started his career at JetBrains in 2012, working on IntelliJ IDEA, a popular Java IDE. Later, he became a technical co-founder of MACAW, where he was in charge of building and launching the product from scratch. Yaroslav's main expertise areas are the JVM ecosystem: Java and Kotlin programming languages, Python and Django framework, MongoDB and PostgreSQL databases, and Elasticsearch.

Portfolio

Kizen Technologies, Inc.
Kubernetes, PostgreSQL, Python, Django REST Framework, ClickHouse...
Macaw
Planning, Management, Education
MACAW
Kotlin, Dropwizard, MongoDB, PostgreSQL, Elasticsearch, Redis, Puppeteer...

Experience

  • Java - 9 years
  • Java Concurrency - 9 years
  • Databases - 7 years
  • Kotlin - 6 years
  • PostgreSQL - 4 years
  • Data Scraping - 4 years
  • Django - 3 years
  • Elasticsearch - 1 year

Availability

Full-time

Preferred Environment

IntelliJ IDEA, MacOS

The most amazing...

...thing I've invented is a feature in IntelliJ, never seen before in the IDEs, which users loved and even requested from the competitor IDE.

Work Experience

Elasticsearch Expert

2021 - 2023
Kizen Technologies, Inc.
  • Developed an automation engine, allowing the customers to perform sets of actions in an automated fashion. It supports sending messages, evaluating conditions, modifying fields, and waiting for particular user actions.
  • Developed a record timeline infrastructure. That includes also creating an infrastructure for creating and maintaining PostgreSQL partitioned tables by leveraging Django commands, cron jobs, and Kubernetes.
  • Greatly improved developer productivity. Made it possible to run tests in parallel; restructured Docker build to minimize building time by using the base image; and sped up database migrations by using a database dump.
  • Improved the testing infrastructure by creating three separate sets of tests (integration testing with Kafka, unit testing with Kafka, and regular unit tests) and created a configurable Jenkins job for that.
  • Prepared lectures for the team about writing clean code, database transactions, Django signals, and the things I was working on.
Technologies: Kubernetes, PostgreSQL, Python, Django REST Framework, ClickHouse, Elasticsearch, Jenkins, Python 3, Django, Databases, HTML, CSS, Architecture

Director of Engineering

2019 - 2021
Macaw
  • Led product development and planned new features and product infrastructure enhancements.
  • Coached and reviewed the work of the back-end team. Shared my knowledge of database systems, web application reverse engineering, and mobile application reverse engineering.
  • Managed deployments, data integrity, and backups, ensuring seamless system functionality.
Technologies: Planning, Management, Education

Founding Engineer

2017 - 2021
MACAW
  • Developed social network parsers for the largest social networks in Russia, VK, and OK.ru, which required web scraping of the browser versions and reverse engineering of Android and iPhone mobile applications.
  • Implemented the back-end API using Dropwizard framework, Kotlin, MongoDB, and Elasticsearch.
  • Implemented the back end of an internal admin application using Kotlin and Dropwizard, which works as a CRM and provides meaningful metrics fetched from all the project data sources, specifically PostgreSQL, MongoDB, Redis, and Elasticsearch.
  • Took care of the internal infrastructure and introduced Docker, Kubernetes, and Helm to our deployment pipelines.
  • Implemented the Facebook Ad Library parser and scaled it to handle two million new banner ads daily.
Technologies: Kotlin, Dropwizard, MongoDB, PostgreSQL, Elasticsearch, Redis, Puppeteer, Node.js, Docker, Kubernetes, Helm, Web Scraping, Reverse Engineering, Java Concurrency, Back-end, APIs, Amazon S3 (AWS S3), JavaScript, Containerization, Amazon Web Services (AWS), Data Scraping, Databases, Data Extraction, HTML, CSS, Architecture, Front-end, Vue

Software Engineer

2012 - 2017
JetBrains
  • Maintained and improved general code formatting engine, a framework for developing code formatters for any language supported by IntelliJ and its Java implementation. The main inspiration came from the user reports.
  • Developed and launched a plugin for A/B testing of "machine-learned" code completion algorithms, which reported code completion data and reordered completion items.
  • Invented and implemented the prototype of a new feature, parameter name hints, that showed parameter names for literals passed as arguments, tested it, and then implemented the production level feature with the help of UX and UI engineers.
Technologies: Java, Kotlin, Gradle, Java Concurrency, Algorithms

Secure Telegram Client For Business

https://app.besync.pro
A small Telegram client with the ability to associate a tag with a Telegram chat, filter by tag, and create message drafts or send messages to selected contacts. The project does not have back-end. All the user data is stored in the browser. I've built the whole project myself and simplified the life of a couple of my friends.

Macaw Tool

https://macawpro.medium.com
A tool for monitoring ads in social networks, helping people make their own ads better. The project is closed, but you can take a look at the screenshots. I have built web parsers, the back end for a product, and both the front and back ends of the admin application for marketing teams.

IntelliJ Completion Stats Collector

https://github.com/JetBrains/intellij-stats-collector
A plugin initially made for collecting code completion data and A/B testing of machine learning code completion ordering algorithms. I made the initial version of a plugin that collected data and allowed the reordering of the completed items using the given algorithms.

A/B Testing of a Google Play Application Page

A Spring Boot application that allows users to test the CTR and install rate of not yet existing Android applications to prevent wasting money on building something people aren't interested in. It also allows them to perform A/B tests to find which texts and images convert better. The app is used internally in our company.

Shared Library

https://shared-library.appspot.com
This project helps to share books between people. You sign up via your social network account, add the books you want to share, and browse books other people have added to the shared pool. The project was written using Angular 1 and Python Google Cloud.
2011 - 2013

Master's Degree in Software Engineering

Saint Petersburg Academic University - Saint Petersburg, Russia

2007 - 2011

Bachelor's Degree in Physics

Saint Petersburg State Polytechnic University - Saint Petersburg, Russia

MAY 2019 - PRESENT

Cryptography 1

Stanford Online | via Coursera

JUNE 2017 - PRESENT

Operating Systems Introduction Course

Stepik

Libraries/APIs

Puppeteer, Node.js, Vue, Telegram Messenger API

Tools

Java Concurrency, Gradle, Helm, Jenkins, NPM

Languages

Java, Kotlin, Python, Python 3, SQL, JavaScript, CSS, HTML

Frameworks

Dropwizard, Django, Spring Boot, Micronaut, Spring, Django REST Framework, Angular

Storage

MongoDB, PostgreSQL, Elasticsearch, NoSQL, Databases, Redis, MySQL, Amazon S3 (AWS S3), ClickHouse, Google Cloud

Paradigms

Management

Platforms

Docker, Kubernetes, Amazon Web Services (AWS)

Other

Web Scraping, APIs, Data Scraping, Data Extraction, Architecture, Algorithms, Containerization, Reverse Engineering, Cryptography, Physics, Back-end, Front-end, Planning, Education, Virtual Machines

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring