Greater Calgary Metropolitan Area
I am a Principal Software Architect specializing in the design, scalability, and technical security of enterprise cloud-native platforms. My expertise lies at the unique intersection of complex numerical modeling, scalable SaaS architecture, and compliance governance. Throughout my career in industrial and commercial software architecture, I have bridged the gap between deep-tech engineering and modern enterprise deployment. I focus on scaling systems from prototypes to commercial global platforms, ensuring architectural choices account for long-term scalability and operational integrity. CORE EXPERTISE & TECH STACK: • SOFTWARE ARCHITECTURE: Expert in designing container-native, highly distributed systems. Advanced proficiency designing modern architectures using Kotlin, Java, and highly optimized Docker enterprise environments. • SOC 2 COMPLIANCE: Directed the technical implementation framework for SOC 2 Type 1 and Type 2 certification. Aligned software development with strict regulatory requirements and authored comprehensive internal security policies. • INDUSTRIAL SYSTEMS ARCHITECTURE: Proven success managing the technical requirements and architecture for complex platforms deployed in heavy industrial and mining environments. • INFORMATION SECURITY GOVERNANCE: Experienced in leveraging modern automation tools like Drata to maintain continuously auditable, secure technical operations, balancing developer practicality with enterprise-grade security. • DYNAMIC SIMULATION & DEEP TECH: Rooted in PhD research focused on dynamic simulation and control, with foundational experience architecting core commercial simulation engines including BatchCAD and HYSYS Dynamics. I partner with engineering teams and executive leadership to ensure that software systems are practical for developers to build, reliable and secure for enterprise clients to deploy, and fully compliant with modern standards.
Transitioned into a strategic advisory role, mentoring the engineering team on architectural design patterns while enforcing expert code review and pull request workflows. Managed daily code contributions for the security and identity layer, developing custom Kong plugins and Keycloak mappers to implement a high-throughput distributed authorization solution. Architected OIDC and OAuth2 integration to offload JWT validation to the edge, addressing token bloat and improving security posture for distributed services. Served as lead SOC 2 implementer for type 1 and type 2 compliance; authored all technical security policies and managed automated governance via the Drata platform. Maintained a career-long commitment to test-driven development (TDD) to ensure system integrity and minimize regression risks in production environments. Optimized the Apache Pulsar messaging layer by leading the transition from a fanout approach to a pub/sub model to handle the complexity of high-fidelity simulation data.
Directed the second-generation architectural migration from a legacy Spring Boot and Predix stack to a modern, event-driven microservices architecture using Quarkus and Kubernetes. Architected distributed Monte Carlo and sensitivity analysis frameworks utilizing cloud-scale parallel compute to handle the computational density of high-fidelity industrial simulations. Developed optimization strategies using OptQuest for equipment allocation and resource scheduling to maximize utilization in complex facility models. Prototyped deep reinforcement learning (RL) agents using AnyLogic and OpenAI Java libraries to derive autonomous closed-loop control policies for our oil and gas facility model, specifically for real-time valve adjustment and set-point optimization. Led the transition of the messaging infrastructure from RabbitMQ to Apache Pulsar to meet increased scalability and performance requirements for high-fidelity telemetry. Developed a specialized Maven-based workflow and framework to enable the test-driven development of AnyLogic simulation models, bridging the gap between scientific modeling and enterprise software engineering. Utilized client-managed Databricks environments to extract and format time-series process data for ingestion into simulation models. Evaluated Airbyte and dbt for automated data loading and transformation workflows to assess their readiness for production environments. Architected the integration of AI agents into the enterprise platform, managing state synchronization between simulation engines and agent-based optimization modules.
Led the technical transformation of core simulation logic from a desktop AnyLogic prototype into a cloud-native Spring Boot environment. Designed and implemented a metadata-driven UI framework where parameters were dynamically configured in the database; utilized metadata to drive units of measure, display formatting, range validation, and value types to enable rapid application prototyping. Integrated OptQuest with simulation models to provide linear and non-linear optimization for oil and gas blending and facility throughput. Migrated AnyLogic Monte Carlo and sensitivity analysis engines into a REST-based cloud architecture to facilitate distributed execution. Designed and implemented a REST-based service architecture with a PostgreSQL backend to facilitate communication between distributed simulation services and client interfaces. Integrated AnyLogic simulation models with Spring Boot application servers to enable cloud-based execution of complex industrial digital twins. Managed the initial messaging infrastructure using RabbitMQ and SQS to coordinate asynchronous data exchange between simulation runs and persistence layers.
Provided technical development leadership for the cross country consulting team provided by Halliburton to develop the ConocoPhillips Digital Oil Field platform and applications in Calgary in conjunction with the COP IT and business groups. The project team delivered two applications within the Digital Oil Field offering - an automated version of the SAGD Short Term Forecasting workflow and a web based Daily Operations Report (DOR) for SAGD. Both projects were built using SAP’s MII on top of Oracle. Collaborated with enterprise architects to ensure the SAGD forecasting tools met corporate standards for scalability and data security.
A member of a development team responsible for developing a new product for the training and deployment of predictive analytic models created by data-mining log data. The product added value to traditional data mining techniques by leveraging domain expertise into the model creation and training process. Required a familiarity with a number of data mining software packages in addition to AssetSolver ranging from in-database data mining to R and Weka.
Managed the team responsible for the development of the HYSYS Dynamics process simulator software. Provided the vision and high-level technical guidance to ensure the integrity of complex dynamic simulation logic and mentored a global team of developers in modernizing core software components. Managed testing summits resulting in the release of a quality product.
Provided program management for one of the groups of products in the Aspen Engineering Suite. As a member of the team responsible for the coordination of the management of the forty simulation products comprising the Engineering Suite ensured that the release of the Aspen Engineering Suite was synchronized with the wider aspenONE product release of all Aspen Technology software products on a single set of media. Coordinated global engineering teams (USA, Canada, UK) to ensure technical compatibility and a unified delivery through the aspenONE enterprise launch. Organized the Change Control Board for Calgary products which improved the integration of the product suite.
Managed the Distillation Technology development group in addition to the Reactors Technology development group. Led the technical lifecycle and integration of BatchCAD™ simulation software into the Aspen Engineering Suite following its acquisition from Mettler-Toledo. Defined the direction of reaction and reactor modeling, and from 2003 distillation modeling, within the business group to align with the broader corporate vision. Active in defining a unified simulation environment that met the needs of developers using reaction and reactor components and those designing reaction and reactor components to improve the code re-use and reliability.
Managed the team of software engineers and chemical engineers split between the UK and the US that was responsible for the development of the BatchCAD commercial software for the modeling of batch chemical reactors and batch reactive distillation over three successful product releases. Developed project plans, resource allocation and budget requirements for multiple projects to extend the functionality of the product and to integrate the product with software both internal and external to the company so that the projects would successfully meet time and budget constraints. Developed and delivered customer training courses for both the general use of the product and for bespoke customer requirements in both pre-sales and after roles to ensure a repeat revenue stream through annual maintenance
Joined BatchCAD as a start-up company in its first year of operation to develop the algorithms required to simulate multi-component batch reactive distillation. As the company expanded primarily responsible for the technical development of the BatchCAD software suite. Re-engineered the software as a fully object oriented suite of programs in C++ based upon the IFACE architecture provided by Hyprotech to successfully migrate the software to the Windows platform and incorporate a fully realized thermodynamic properties engine. Developed a generalized kinetic fitting package that allowed users to automatically determine of chemical reaction kinetic parameters from experimental composition, temperature and heat rate data. Worked closely with Mettler-Toledo to produce a high fidelity simulation of the RC1 reaction calorimeter with the capability to automatically generate models from logs generated by the RC1 operating system allowing users to perform experiments in simulation to maximize safety and cost savings and to reduce the overhead of design of experiment scenarios.