Consulting & Training
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 (email@example.com).