Resume
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.
| 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:
- Shared production lessons from multidisciplinary teams building LLM-powered customer solutions, covering safety, compliance, misuse, accuracy, and security in Lessons from the Trenches in an LLM Frontier
- Documented a customer-derived design pattern that keeps identity-scoped parameters outside LLM-generated tool inputs to reduce prompt-injection risk in LLM Prompt Injection Considerations With Tool Use
- Initiated and led the MCP authorization specification proposal to separate OAuth resource-server and authorization-server responsibilities. The resulting change landed through PR #338 and shipped in the MCP 2025-06-18 specification, making existing enterprise authorization servers easier to use with remote MCP servers
- Researched OCI 1.1 and ORAS artifact storage in What is ORAS and why should you care? and opened OCI image-spec PR #1100 to improve guidance and examples for
artifactTypeandconfig.mediaType. The recommendations were credited and incorporated into merged OCI PR #1101 and the corresponding ORAS documentation update - Co-presented practices used by the team to secure software supply chains for government and defence customers, including SBOMs, OCI artifacts, signing, attestations, and policy enforcement in Building Trust Brick by Brick
- Presented lessons from deploying Kubernetes workloads with GitOps to intermittently connected and air-gapped edge fleets in EdgeDevOps in the Bush, Air and Underwater
- Published .NET and Python OpenTelemetry samples for trace-context propagation across HTTP, RabbitMQ, and MQTT, including traces, metrics, and logs
- Created the Breadcrumb Protocol and its reference implementation to maintain shared context, decisions, and plans between developers and coding agents
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