Consulting & Training

Why me?

You can find my resume here, my LinkedIn profile here. I also frequently speak at software engineering conferences and meetups and write a technical blog. I’ve been programming since I was 14, professionally since 17.

Main areas of expertise

  • Microservices. Building from scratch and transitioning from a monolith. Best practices including proper communication styles, infrastructure automation and CI/CD.
  • Data engineering. Apache Kafka, Hadoop, Spark, Hive, Presto, Flink. From data instrumentation and ingestion to data analytics and warehousing with a focus on stream processing and real-time data. Experience solving complex problems at scale: schema evolution, routing, enrichment, data replay, end-to-end validation.
  • Messaging and event-driven systems. Enterprise Integration Patterns, actor systems.
  • Highly scalable and available online services. Load balancing, sharding, replication, failover, multi-DC deployments and self-healing services. From 0 requests/second to 100, 1000, 10000+.
  • Back-end programming. Primarily with Scala, Java, Python and Node.js. I respect Domain Driven Design, love functional programming and clean, pragmatic design.
  • Cloud infrastructure automation. VMs, containers. 12-factor applications.
  • Technical leadership. Planning roadmaps, managing tech debt, fixing processes & communication, creating an inclusive engineering culture.


Reach out via email (