Skip to content
View PavelAgarkov's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report PavelAgarkov

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
PavelAgarkov/README.md

Hi there, I'm Pavel πŸ‘‹

I'm a Staff-level Go backend engineer with 7+ years of professional experience (4+ focused on Go).
I specialize in distributed systems, in-memory databases, and high-performance services.
Currently working @ Wildberries in the WH-S AI division.


πŸ› οΈ Tech Stack & Expertise

  • Languages: Go (primary), Rust (exploring)
  • Databases: PostgreSQL, MySQL, ClickHouse, Redis, BadgerDB, MongoDB, Tarantool
  • Messaging & Streaming: Kafka, RabbitMQ
  • Concurrency & Scheduling: custom frameworks (rate-envelope-queue, service-pkg, job schedulers)
  • Cloud & Infra: Docker, Kubernetes, Linux (memory management, GC tuning, performance profiling)
  • Architecture: microservices, leader election, CDC replication, snapshotting, custom caches

🧰 Also Worked With

Protocols & APIs

  • gRPC, REST, Protocol Buffers, OpenAPI/Swagger

Storage, Caches & Queues

  • PostgreSQL, MySQL, ClickHouse, Redis, BadgerDB, MongoDB, Tarantool
  • Kafka, RabbitMQ
  • etcd (leader election/locks), in-memory caches, snapshotting

Orchestration & Libraries

  • Kubernetes (ops), Kubernetes client-go / workqueue (rate-limiting queues, metrics)
  • Internal frameworks: rate-envelope-queue, service-pkg, kernel (graceful shutdown, watchdog, schedulers)

Infra & Tooling

  • Docker, Linux (perf, memory/GC tuning, ulimit, noatime), Bash
  • Git, GitLab Packages/CI, Makefile

Observability & Performance

  • Prometheus (component-base/workqueue metrics), Grafana
  • pprof, benchmarks (go test -bench), tracing/latency analysis
  • Structured logging (zap), ELK stack (JSON logs)

Testing & Quality

  • go test (unit/bench), race detector, mocking

Concepts & Patterns

  • Leader election, CDC replication, backpressure, idempotency
  • Drain/Stop lifecycles, graceful shutdown, retries & backoff
  • Binary encodings, roaring bitmaps, memory-efficient K/V layouts

Go Rust PostgreSQL MySQL ClickHouse Redis BadgerDB MongoDB Tarantool Kafka RabbitMQ etcd gRPC Protobuf Docker Kubernetes Linux Prometheus Grafana Kubernetes client-go Zap


πŸ“Š Languages across my public repos (auto-updating %)

Top languages by % (public repos)

πŸš€ Open Source Projects

  • rate-envelope-queue
    In-memory task queue & scheduler for Go with hooks, backpressure, and drain/stop lifecycle.
    Benchmarked at 3.3M ops/sec for one-shot tasks.

  • service-template
    Core utilities and abstractions for Go microservices (logging, config, graceful shutdown, etc.).

  • kernel
    Core framework for graceful shutdown, leader election, and initializing critical connections.


πŸ“ˆ Contributions & Impact

  • Refactored legacy systems into scalable microservices at Wildberries.
  • Designed a custom caching layer (cache) with BadgerDB for high-throughput workloads.
  • Mentored engineers (junior β†’ mid-level growth) for the last 1.5 years.
  • Active in open-source: publishing frameworks and SDKs for the Go community.

🌍 About Me

  • πŸ’» Backend engineer, passionate about performance and memory efficiency.
  • 🧠 Strong focus on system design and building reliable distributed services.
  • 🀝 Open to collaboration and contributions in the Go open-source ecosystem.
  • πŸ“ Based in Bishkek.
  • πŸ“« Reach me: agarkov.pavel.ru1@gmail.com

⭐️ Feel free to check out my pinned repositories or reach out if you want to discuss Go, distributed systems, or open-source collaboration!

Pinned Loading

  1. rate-envelope-queue rate-envelope-queue Public

    Lightweight in-memory queue + scheduler for Go with middleware-style hooks and capacity/backpressure control.

    Go 19

  2. service-template service-template Public

    Service template for fast development server application with popular dependencies.

    Go 8

  3. kernel kernel Public

    A production-ready toolkit for Go services: a cohesive app runtime with prioritized graceful shutdown, Redis-based leader election, a periodic job scheduler, and a readiness barrier. Includes HTTP/…

    Go

  4. speed-hunter speed-hunter Public

    Launching parallel workers waiting for a response.

    PHP 4