About

I'm Pavel — a systems engineer living in Berlin since 2018. I spend most of my working hours somewhere between the Linux kernel and a Go program misbehaving in production. Outside of that, I write here, take apart old mechanical keyboards, and argue politely about database internals on the internet.

Work

Ten-plus years of backend / infrastructure engineering — mostly at mid-sized European companies that are too small to name-drop and too large to fit in one paragraph. Currently consulting independently on high-throughput networking and observability.

If you're looking for help with eBPF, Go performance work, or pulling apart a stubborn p99, my inbox is p@smirnov.dev.

Short timeline

2014first production Go deploy. I was nervous.
2016moved from Kyiv to Amsterdam for a platform role.
2018Berlin. Bicycle. Schnitzel.
2020wrote the first long post nobody read.
2022started caring about kernel internals for real.
2024went independent.
nowwriting here, on-call for two clients.

Tools I actually use

  • Debian stable on servers, Arch on the laptop, NixOS at home.
  • Go for most services. Rust when I need Drop to mean something.
  • PostgreSQL. ClickHouse when Postgres finally says no.
  • Neovim, tmux, fish — nothing exotic.

Contact

Email is the best way: p@smirnov.dev. I read it most days. I reply when I can.

My code lives on a private GitHub. If we've worked together I can share repos one-off — ask.