Hard Skills

I love programming in all kinds. I am not fixed to any language, so I have some experience in various directions.

Notice

My ‘Job Language’ is Kotlin in the context of Android Framework and if it’s what you are interested in, please follow Work Experience link.

Summary

Programming: since 2018
Languages: Kotlin (prod), Haskell (pet), Scala (pet), Rust (pet), F# (pet), Clojure (pet), Swift (pet), JS/NodeJS/TS (prod), Java (prod), Python (prod), Go (pet), PHP (pet).

Architecture & Developer Experience

from 2024

This year my focus shifted to Architecture and Developer Experience. I always was interested in that direction and researched a lot, but in 2024 it became my main focus in development as well as Developer Experience related stuff (CI/CD, Development Culture, etc.).

This is continuation of vector defined in early 2023: “It became very interesting for me to make something that would not just benefit end users, but other developers”.

Libraries Development

from 2023

From this year, it became very interesting for me to make something that would not just benefit end users, but other developers. I started to write my own libraries, include various commercial at work.

Public Activity

from 2022

My journey in Public Activity started from taking part in Mobius conference with a talk about KMP and why it is so different from all existing approaches.

Functional Programming

from 2021

This year I learned a lot of interesting stuff. My goal was to understand what Monad is 🤪. So I took some time to learn Theory Of Categories. Was playing a lot around Scala, Haskell and Rust. Till this day I value this time a lot.

Kotlin Multiplatform

2021 - 2023

Learned how to write Kotlin programs and compile them to literally everything. I developed in Kotlin/Multiplatform on these targets: Android, iOS, JVM, JS (frontend), NodeJS (backend), MacOS (native), Linux (native).

Backend

2020 - 2021

I always wrote small servers in PHP, but during this time I decided to have some experience with ‘real’ languages. There were some projects in Kotlin (Ktor Server, Exposed, Spring), Python (Flask, Django, Fastapi), TypeScript (NestJS, NextJS, Fastify).

Kotlin/NodeJS

2020

After some experience with frontend in Kotlin/JS, I started to write backend in Kotlin/NodeJS. You might ask why not Kotlin/JVM? The answer is that those backends required to work with puppeteer (which is something like selenium, but better). It is a tool to control chromium browser and is only available in NodeJS.

Kotlin/JS

2020

Now-JVM Kotlin? I discovered that I could develop sites in Kotlin. And I had some experience with TypeScript and was kinda familiar with Web Development, so it wasn’t really hard to start using Kotlin/JS. I liked this experience a lot, even though it was tough at the start and required communication with the developers of Kotlin/JS itself.

Kotlin Android

2018 - 2020

I moved fully to Kotlin Stack and tried ktor-client and various kotlinx-libraries. Still in Android though.

Java Android

2017 - 2018

My first attempts to enter Android Development with me actually working in freelance. I tried MV* architectures, RxJava, Retrofit, Clean and other mainstream technologies at that point of time.

Telegram

from 2018

I wrote my first bots in Python and TypeScript using frameworks like aiogram, telegraf. Later I started to use ktbotapi for my bots (which is Kotlin Bot Api library).

Then I started to develop userbots and tried pyrogram, telethon and mtcute. This passion towards Telegram led to start of the kotel project.