About Andrew

  • Tech Leader and Developer on multiple projects in different technological fields: Android (Kotlin / Java), iOS (Swift), C++, IoT.
  • Interested in programming languages design and development.
  • Loves open-source.
  • One of administrators of unofficial Kotlin Telegram community.

Experiences

Android Developer

2013 - Present
MobiDev

Grown here, learning to deal with different challenges, work alone or with a team, communicate with clients of various backgrounds.

Expert at conference

2021
Mobius Piter

Administrator in Kotlin Telegram community

2019 - Present

Striving to share knowledge, to help other people learn, to share the love to Kotlin. We are trying to maintain lively community, make it as comfortable and useful for others as possible. Also one of the things I’m doing there is aiding Ruslan Ibragimov with admin bot for the community.

Projects

Unfortuntely, most of the projects here are covered by NDA.

Inkremental (open-source)
Easy-to-use Kotlin DSL for building Android UI using incremental DOM
iOS app for sketching floor plans - Tech Leader and Developer
Clarification of requirements with product owner, working on non-trivial heuristics, solving math problems. --- Swift, ARKit.
Sheet music viewer Android application for online music library - Tech Leader and Developer
Clarification of requirements with product owner, improvements of technical processes around application delivery, supporting technical documentation. --- Android SDK, Kotlin, coroutines, Moxy, Dagger 2, ObjectBox.
Firmware for Raspberry Pi-based smart mailbox - Tech Leader and Developer
Communication with the product owner, elaboration of requirements. Working with barcode scanning using low-res camera images. --- TypeScript, Vue.js, Electron, WebSockets.
Multimedia player app for Android - Tech Leader
Communication with the product owner, elaboration of requirements. Mentoring junior developers. Assisting with applying Material Design guidelines. --- Android SDK, Kotlin, RxJava, Sentry.
Firmware for Raspberry Pi-based intercom - Tech Leader and Developer
Communication with the product owner, elaboration of requirements. Working with GPIO peripherals, third-party WebRTC-based multi-media solution --- Python, asyncio, GTK+, WebSockets, Docker, TokBox.
C++ middleware for desktop application providing real-time monitoring of synthetic slings - Tech Leader and Developer
Architecturing and building the C++ module from the ground up. Doing asynchronous serial port I/O, working with constantly changing protocol, dealing with unclear requirements, providing means to simplify application testing for QA team, integrating app as a system service on Windows and Linux, setting up infrastructure for packaging an app. --- C++14, Boost, WebSocket++, WinAPI, systemd, NSIS, debhelper.
Electronic book reader app for Android (ePUB and PDF) - Tech Leader and Developer
Maintaining and gradually refactoring legacy codebase, creating custom layouts, interoperating with native libraries via NDK, abstracting out complex backend API, dealing with lots of device-specific bugs, including pre-KitKat era and Kindle Fire / BlackBerry OS devices. Building a simple backend for synchronizing metadata between devices. --- Android SDK, Java, RxJava, Parse.com (later dropped), Crashlytics, Kotlin, SparkJava.

Skills & Proficiency

Kotlin

Kotlin 1.5, kotlinx.coroutines, kotlinx.serialization, Ktor

Android

Android SDK, AndroidX, Dagger, RxJava, Firebase, Litho

iOS

Foundation, UIKit, ARKit, cocoapods, SPM

C++

C++14, Boost, Qt

JavaScript

node.js, TypeScript, Vue.js, Electron

Python 3

Databases

SQLite, PostgreSQL, MySQL, MongoDB, ObjectBox

Services

AWS, Swagger, Docker, Rancher

Automated testing

Test-driven development; JUnit (Java / Kotlin), Google Test (C++)

CVS

Git (CLI), Git flow

CI

Jenkins, Github Actions, GitLab CI, TeamCity

Issue and documentation tracking

Jira, Confluence, YouTrack, RedMine

Misc

Firebase, Google Play Console, Sentry, Flurry