Deomid "rojer" Ryabkov

I wear two hats: systems and software engineer. I also dabble in hardware a bit.

As a software engineer, I have experience writing firmware for tiny things with kilobytes of memory to software deployed on thousands of machines, processing millions of requests per second.
C, C++, Go, Python and Shell are my day to day languages but I have working knowledge of JavaScript, Dart, Perl, various assemblers (x86, Xtensa, ARMv7).

My most recent experience is with Internet of Things, developing Mongoose OS - an open source IoT operating system for mid-range MCUs, where Linux won't fit.
I am the principal architect and author of most of the code, including drivers, VFS and network connectivity (FreeRTOS is used for scheudling).
mOS currently supports STMicro STM32 (F4, F7), Espressif ESP8266, ESP32 and TI CC3200 and CC3220. Some of the things I did while working on it:
- Developed a flexible build system for apps and libraries (using Docker containers, GNU make, code generation in GO and Python)
- Wrote all the low level stuff, including early init and boot loader, exception handling (core dump and analysis tools), heap profiler
- Created a reliable and extensible over the air update mechanism (with fail-safe rollback)
- Optimized mbedTLS for much lower memory usage, added hardware crypto chip support
- Extensive networking protocol support, - TCP, UDP, HTTP, MQTT, SNTP, mDNS
- Support for all major IoT cloud providers: Amazon IoT, Azure IoT Hub, Google IoT Core, IBM Watson IoT
- Implemented drivers for hardware interfaces protocols (UART, SPI, I2C) on all the relevant platforms.

I am also a seasoned UNIX (Linux, FreeBSD) systems engineer with experience implementing and running large scale data processing systems, frontends, backends, monitoring, etc.

I am self-motivating, driven and thorough. I consider ability to dive in and figure things out quickly my most important skill.

Created with bare hands, best viewed with a pair of eyes.