As a person who’s really passioned about good software architecture and engineering practices I want to make our industry better. That’s why I’m excited to offer consulting, mentoring and training services.
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 pipelines. Apache Kafka, Spark, Hive. Anything between data collection/ingestion and data warehousing including batch and stream processing.
- Messaging and event-driven systems. Apache Kafka, ActiveMQ, Camel, Enterprise Integration Patterns, Akka. Event Sourcing and CQRS.
- 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 (with a few major frameworks in each), but I’m a true polyglot and worked and experimented with a lot of languages (C#, Ruby, Erlang, Lisp, Go…). I’m also really passioned about clean code, SOLID and DRY principles, refactoring and testing. I respect Domain Driven Design, love functional and actor programming.
- Cloud infrastructure automation, mostly Amazon Web Services. VMs, containers. 12-factor applications.
What you get
When you hire me, you don’t just get an additional software engineer or an architect. You hire me to teach YOUR team how to implement the best practices and transfer the expertise I have.
Sounds interesting? Just reach out via email (email@example.com). FYI, I still enjoy my full-time job and usually can spend 5-10 hours a week for consulting.