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.