Position: Rust / Android Developer
Category: Rust
English level: upper
Years of experience: 11

Multi Language Bindings Generator writter in Rust with proc macros. Similar to UniFFI from Mozilla but supports more languages - C/C++, C#/CLI, Java, Swift, JS (CEF + Electron).
For the past decade or more my main specialization was Android (from phones to STBs to fully embedded devices). Most of those projects required good knowledge of the C++ language and later also Rust. From time to time I was also involved in Flutter projects and briefly React Native.

I have experience with many different technologies like WebRTC, video streaming / transcoding, 3D rendering (OpenGL to Vulkan to WebGPU), networking (from raw TCP / UDP sockets to gRPC / ProtoBuf to HTTP / WebSockets to WebTransport), Bluetooth LE, Jetpack Compose, JNI/NDK, Code Generation and many others.

One of the latest highlights is the implementation of multi language bindings generator for the Rust project. It was similar to Mozilla's UniFFI but was able to automatically create bindings to C, C++, C# (via C++/CLI), Swift, Kotlin and JavaScript (both CEF and Electron) languages by using procedural macros in Rust.

Always eager to learn new perspective and innovative technologies.

My favorite catch phrase: "Rust did to C++ what Kotlin did to Java" !

Some keywords:
- Android - SDK / NDK, Room, BLE, RxJava, Jetpack libraries
- Rust - proc macros, async, actix-web, WGPU
- Kotlin - coroutines, compose, retrofit / okhttp / ktor, jackson / gson / kotlin serialization, Dagger / Koin
- Flutter - GetIT, BLoC, dio, RxDart, Providers, intl, firebase,
- Architectures - MVP, MVVM, MVI, SOLID
- Databases - MySQL, SQLite
- Networking - TCP/UDP, gRPC / protobuf, HTTP, WebRTC, WebSockets, WebTransport, BLE
- Codecs - H.264, H.265, VP9 with SVC

Summary:
- main specialization - Android, Rust
- great at Android, Kotlin, Rust
- good at Flutter, Java, C++, Dart languages
Don't really like AOSP or system-level programming in general.
I know Flutter but would like to avoid it.