If you’re interested in learning more about any area of expertise listed below, please get in touch. I’d be happy to meet over Skype or in-person in downtown Toronto.


  • Over 15 years of architecture, analysis, and development experience — Significant experience within the JVM and Java ecosystem, having performed the role of architect, analyst, technical leader, developer, and advocate
  • Experienced public speaker — Presenting at meetups, conferences, and private businesses around the world on a variety of technical subjects
  • Proficient technical writer — Regularly contributing to various publications such as Medium, InfoQ, and TechRepublic


  • Modernization — Acting as an advisor and architect on major systems modernization projects
  • Architecture — Domain-Driven Design (DDD), OOA/D, distributed systems architecture
  • Languages — Scala, Java, JavaScript
  • Frameworks — Play, Akka, Spring
  • DevOps — Vagrant, Puppet, Kubernetes, ConductR
  • Ops — Implementing cloud and hybrid-cloud topologies for clustered, scalable, resilient systems


  • Open source
    • Previously employed at Lightbend, the corporate steward of Scala, Akka, Play, and Lagom
    • Advisor to some of the top 2000 businesses on systems modernization projects
    • Contributor to the open source community through various projects, videos, and writing
  • eCommerce
    • 2 years of experience with Nurun (now Razorfish)
    • Tech lead of the Walmart Canada modernization project
    • Read the Walmart Canada case study here
  • Capital Markets
    • 2 years of experience with Bank of Montreal Capital Markets
    • Senior developer and technical lead, working on
    • Performed enhancements to various FX and global wire transfer payment platforms
  • Wealth Management
    • 7 years of experience with CIBC Wealth Management
    • Developed software used by financial advisors in every CIBC branch across Canada, including Financial Health Check, which was used by over 2 million Canadians to help them plan for their financial goals

Areas of interest

  • Modernization of legacy systems to microservices and distributed systems
  • Architecture of non-trivial systems; solving the hard problems using emerging patterns to build event-driven, reactive systems
  • Stream processing with Akka Streams, Spark, and Kafka, especially related to batch/ETL modernization
  • Developing scalable, resilient systems using Scala, Play, and Akka


I'm based out of Toronto, Canada. I've worked with businesses across Canada, the United States, and Europe. Don't hesitate to get in touch.




Interested in meeting?

I organize a few local groups for programmers in the Toronto area. If you'd like to meet in person, feel free to come out to one of these events.

Interested in chatting?

I'm located in Toronto, Canada. If you're interested in learning more about anything I've published and would like to meet via Skype or have a coffee in Toronto, feel free to contact me at one of the links below.