Ivan Frolov

Sydney, Australia
ivan@frolov.au
Download PDF

Twenty years of hands-on JVM engineering, specializing in Scala, functional programming, and distributed systems. Has shipped across domains: event-sourced ledger infrastructure at Digital Asset, high-traffic product engineering at Canva, and multi-tenant e-commerce platforms. Strong focus on performance analysis and optimization — from JVM-level tuning to pipeline throughput benchmarking — and a track record of building observability tooling that makes complex systems debuggable. Brings a rigorous, type-safe approach to system design — ZIO, dependent types, macros, and Haskell-influenced FP. Has a secondary specialty in language tooling: IntelliJ plugin development, custom syntax parsers, and polyglot code generation pipelines.

Technical Expertise

Languages
Scala, Java, Kotlin, Haskell/Daml
Core Concepts
Functional Programming, Reactive Systems, Event Sourcing, Language Design, Dependent Type Programming, Distributed Systems, Concurrency, Performance Analysis & Tuning
Databases
PostgreSQL, Oracle, SQLite
Key Technologies
ZIO, scala macros, scalaz, cats, fastparse, protobuf, Kafka
Tools & Platforms
mill, bash, Makefile, git, docker, AWS, GCP
Language Design
Syntax Parsing, IntelliJ Plugin Development, Code Generation
Methodologies
TDD, BDD, DDD, Agile, CI/CD, DevOps

Professional Experience

Jun 2017 – Nov 2025
Staff Software Engineer | Digital Asset, Australia
  • Designed and built a data storage layer for querying event-sourced data, supporting efficient historical snapshot analysis.
  • Led design of code generation pipelines that auto-generated codecs for multiple protocols and target languages, eliminating significant boilerplate.
  • Built an interactive FRP-based shell for inspecting ledger transaction history.
  • Wrote a performance testing suite to measure and improve read/write throughput of a PostgreSQL-based storage solution.
  • Co-authored functional testing framework for container-based component quality assurance.
  • Implemented an IntelliJ plugin for the Daml language.
Aug 2016 – May 2017
Senior Software Engineer | Canva, Australia
  • Developed and improved core editor features in a high-traffic production environment.
Feb 2011 – Jul 2016
Senior Software Engineer | Tacit Knowledge, Moldova / Australia
  • Led architecture and development of a multi-tenant PaaS solution using Grails, Hybris, Groovy, Java, Scala, and Akka.
  • Designed and implemented PCI-compliant payment integration with Cybersource using Akka/Scala.
  • Performed performance and reliability analysis for distributed e-commerce systems.
  • Built an internal “Degradation Proxy” tool with Netty for reliability testing.
  • Researched and implemented visual search algorithms for product discovery.
Jan 2009 – Jan 2011
Software Engineer | Endava, Moldova
Feb 2006 – Sep 2008
Junior Software Engineer | NetCracker Technology, Russia

Education

2009
Master of Science in Applied Physics and Mathematics | Moscow Institute of Physics and Technology, Russia