Hey, I'm Aleksandr.

Tech lead at JetRockets. Sixteen years of shipping code — Rails by day, Rust by night, soldering iron on weekends. Living with my wife Julia, working remotely from wherever we land.

Ruby on Rails Hotwire Rust PostgreSQL Firmware

How I got here

It started with The Elder Scrolls IV: Oblivion. I was twelve, with no internet and no documentation — just the game's built-in scripting engine and an endless supply of curiosity. I'd copy scripts from the game's files, rearrange them, change the numbers, see what happens. NPCs that weren't supposed to fly started flying. Doors that led nowhere started leading somewhere. I had no idea what I was doing, but I was learning my first programming language without realizing it.

The moment it clicked — that I could create worlds that live by my own rules — there was no going back. A couple of years later that curiosity turned into freelance work, and clients started finding me on their own. At eighteen I wanted something more stable, found a company, and built their entire platform solo. We landed clients, I grew into the CTO role, hired the team, and scaled it from there.

Then JetRockets came along and I fell in love with how they work. Six years later, it's "we". Leading teams, shaping architecture, shipping software across industries — from SaaS products to complex enterprise systems where every technical decision carries weight.

What I do at work

My focus is on teams — technical direction, architecture decisions that hold up for years, code reviews, mentoring engineers. I care about building environments where people ship with confidence and grow while doing it.

Full-stack at heart — I still write production code daily. The real leverage is the team, but staying in the editor keeps the technical judgment honest.

AI has become a natural part of how I work every day — whether it's generating code, exploring architecture trade-offs, or crafting prompts that save hours of manual work. It doesn't replace engineering judgment, but in the right hands it's a force multiplier that's hard to ignore.

Architecture From system design to domain modeling — shaping the decisions that outlast any sprint
Leadership Code reviews, mentoring, and building the kind of teams where shipping feels natural
Artificial Intelligence Prompt engineering, AI-driven development, turning repetitive work into automated workflows

The hardware side

There's something honest about hardware — no abstraction layers, no framework magic. When something doesn't work, it's physics, not a config file. That contrast with web development is exactly what keeps me coming back to the workbench.

Most of it starts the same way — an ESP32 or STM32, a handful of components, and a question I want to answer. Sometimes it's an Arduino when I just need something quick. HomeKit sensors, LED controllers, custom firmware for whatever board is on the desk. The most ambitious project so far is a web-based logic analyzer — browser-side signal rendering with WebUSB, built as a modern alternative to PulseView.

Firmware in C and Rust, with a bit of assembly when the hardware demands it — like bit-banging protocols for WS2812 LEDs. You pick whatever fits the chip.

Life on the road

In August 2025 I married Julia — the girl who makes every country feel like home. We chose this lifestyle because remote work doesn't care about borders. If the laptop works and the Wi-Fi holds, the country doesn't matter — so why not see as many of them as we can?

A new place every month or two. Some we stay longer — a year and a half in Thailand, because sometimes you just find your spot and there's no reason to leave. Once we drove across Madagascar for two weeks in a rental car — no WiFi, no laptop, just the road and the baobabs. The country list keeps growing, but the suitcase stays the same size.

🇹🇭 Thailand🇻🇳 Vietnam🇲🇾 Malaysia 🇱🇰 Sri Lanka🇲🇻 Maldives🇮🇳 India 🇴🇲 Oman🇪🇬 Egypt🇬🇪 Georgia 🇹🇷 Turkey🇺🇿 Uzbekistan🇲🇬 Madagascar

How I think about work

Done beats perfect

Ship it, learn from production, iterate. The best architecture emerges from real usage, not whiteboards.

Go one level deeper

Use Postgres — read the query planner. Deploy to AWS — understand the networking. No black boxes, ever.

Simple until proven otherwise

Three lines of straightforward code beat a clever abstraction. Complexity should be earned, not inherited.

The team is the product

The best thing a lead can build is an environment where people grow, ship with confidence, and don't need permission to make decisions.

Right tool, right job

Rails for the web, Rust for firmware, assembly when the chip demands it. Loyalty to problems, not to languages.

My setup

Editor RubyMine, WebStorm, DataGrip, RustRover. Zed and Neovim for speed.
Terminal Kitty terminal. Docker, SSH, and a dozen tabs I swear I'll close tomorrow.
Machine MacBook Pro M-series. Travel kit: breadboard, logic analyzer, and too many MCUs.
Deploy Kamal for personal and production. Docker everywhere. AWS or DigitalOcean.
OS macOS daily, Linux on servers, OpenWrt on a Raspberry Pi I turned into a home router.

Toolset

I believe in choosing the right tool for each problem. No technology is universally superior — every language, framework, and library has its strengths and weaknesses depending on the context. What matters is understanding the trade-offs and knowing when each one shines. Here's what I've worked with over the years:

Languages
Ruby JS/TS Rust Go Java C/C++ Python PHP Kotlin
Backend
Rails Spring Boot Express Axum Laravel Sidekiq RabbitMQ
Frontend
Hotwire React Vue Svelte HTMX jQuery Flutter
Data
PostgreSQL Redis MongoDB Elasticsearch SQLite
Infra
Docker AWS DigitalOcean Kamal Nginx GitHub Actions
Embedded
ESP32 ESP8266 RP2040 STM32 AVR
Web
GraphQL gRPC WebSockets WASM WebUSB WebRTC

Say hi

The best connections start with a simple message. If you found something here worth talking about — I'm always around.

hello@ivashkin.dev