Principal Software Engineer in Microsoft’s Forward Deployed Engineering practice, based in Melbourne, Australia. I work with enterprise customers, Microsoft product teams, and open-source communities to engineer production AI and distributed systems.

LinkedIn GitHub Speaker profile

Professional summary

I have more than 20 years of experience building software, from native-language tools and enterprise applications to cloud-native platforms. My work combines hands-on engineering, solution architecture, technical leadership, and consulting. I focus on agentic systems, distributed architectures, observability, security, and helping teams take solutions into production.

Experience

Microsoft

Principal Software Engineer, Forward Deployed Engineering

September 2025 to present, Melbourne

I work with enterprise customers across the Asia-Pacific region to engineer AI solutions, collaborating closely with Microsoft product groups and open-source communities. My current work focuses on reliable agentic systems, context engineering, agent identity and delegation, observability, and the engineering practices needed to move AI-assisted development beyond prototypes.

Selected public work from this period:

  • Presented practical context-engineering techniques for AI coding agents in Throw Away The Vibes, including context isolation, compression, tool selection, and structured Research-Plan-Implement-Review workflows
  • Developed a model for applying corrective feedback to coding agents through deterministic and inferential checks in Manufacturing Backpressure in Coding Agent Harnesses and Refining Inferential Sensors
  • Explored verifiable agent identity, delegated authority, consent, and policy enforcement through The Errand, an introduction to the AAuth protocol

Senior Software Engineer, Commercial Software Engineering

April 2022 to September 2025, Melbourne

I helped customers tackle significant technical challenges with distributed systems and DevOps practices, while enabling their engineering teams to carry solutions into production. The work included multidisciplinary LLM engineering, secure tool use, software supply chains, observability, and Kubernetes deployments in intermittently connected and air-gapped edge environments.

Selected public work from this period:

Senior Consultant, Microsoft Consulting Services

March 2021 to April 2022, Melbourne

I designed and delivered applications on Azure using .NET, PaaS, serverless, and Kubernetes. The role combined hands-on engineering with technical leadership, application modernisation, DevSecOps, and team mentoring.

Telstra Purple

Lead Consultant

October 2020 to March 2021, Melbourne

I led technically challenging government and enterprise engagements, designed cloud solutions, modernised legacy workloads, and helped client teams adopt agile delivery and DevSecOps practices.

Senior Consultant

December 2019 to September 2020, Melbourne

I helped enterprise customers build cloud-native applications, modernise existing systems, and design identity, delivery, and security practices for Azure and AWS.

Public talks from this period examined the trade-offs behind distributed platforms rather than treating them as interchangeable products. Building Distributed Systems on the Shoulders of Giants compared Dapr, Knative, Istio, and Service Fabric, while The Shell Game Called Eventual Consistency explained practical consistency and availability trade-offs.

Readify

Senior Developer

March 2017 to December 2019, Melbourne

I provided architecture, engineering, and technical leadership for customers across the finance, telecommunications, and other Australian industries. My work covered end-to-end delivery, CI/CD, cloud adoption, and team development.

Selected public work from this period:

  • Documented lessons from a four-person customer proof of concept that used Ionic and HTTP-triggered Azure Functions as a mobile backend in Using Azure Functions HttpTrigger as a Web API
  • Published implementation guidance for OAuth 2.0, OpenID Connect, JWTs, Azure AD, service identities, and multi-tenant applications, later brought together in a DDD Melbourne talk on modern authentication
  • Created NimbleConfig, a convention-based .NET configuration-injection library distributed through NuGet with ASP.NET Core dependency-injection support

Whirlwind Print

Principal Developer

June 2016 to February 2017, Melbourne

I took ownership of a monolithic platform and began replacing it with message-driven services using RabbitMQ, service discovery, event storage, SQL Server, and Redis. I also developed B2B and procurement integrations and helped shape the company’s technology strategy.

During this period I published the Event Sourcing Examined series and created NEventLite, a .NET library that manages event-sourced aggregate lifecycles with pluggable event and snapshot storage.

Luxton Plant

Lead Developer

May 2009 to June 2016, Melbourne

I led the design and development of a multi-user, multi-currency ERP platform for the plant-hire industry. It covered asset management, rental, sales, CRM, inventory, workshop operations, accounting, web access, and third-party integrations. The system included a Windows client, web and mobile applications, a SQL Server, SOAP and REST APIs, background services, and integrations with mapping, accounting, registry, email, and marketing platforms.

Native Innovation

Software Developer

April 2004 to October 2006, Colombo

I led a small development team delivering HR, telecommunications, distributed, and native-language software. This included SinhalaSP, an early fully Unicode-enabled Sinhala application recognised by ICTA and Microsoft Sri Lanka, barcode-based HR and payroll systems, media localisation work, and intranet solutions for Sri Lanka Telecom.

Education

  • Master of Information Technology, Swinburne University of Technology, 2008 to 2009
  • Bachelor of Science in Information Technology, Swinburne University of Technology, 2007 to 2008

Core expertise

  • Agentic systems, GenAI engineering, and LLMOps
  • Distributed, event-driven, and cloud-native architectures
  • Agent identity and security, including MCP and A2A
  • Observability with OpenTelemetry
  • Application modernisation and software supply-chain security
  • Azure, AWS, Kubernetes, serverless platforms, and GitOps
  • .NET, ASP.NET Core, Python, TypeScript, and Go
  • Technical leadership, consulting, mentoring, and agile delivery

Certifications

  • Microsoft Certified: Azure Fundamentals
  • Professional Scrum Master I
  • Agile Foundations

Updated: