About
Philip Todd
Senior Software Engineer | Azure Cloud Architect | Technical Leader
I am a software engineering professional with more than 25 years of experience designing, building, and delivering software solutions across a range of industries and technologies.
Throughout my career I have worked in roles spanning software development, solution architecture, technical leadership, engineering management, and agile delivery. This breadth of experience has given me a practical understanding of how successful software products are conceived, built, deployed, and operated at scale.
While I have spent recent years leading engineering teams and technology functions, my passion remains firmly rooted in software engineering. I enjoy solving complex business problems through well-designed systems, clean architecture, automation, and modern cloud technologies.
Today my focus is on building cloud-native applications and distributed systems using the Microsoft technology stack, with particular interest in Azure, event-driven architecture, DevOps, and AI-assisted software development.
Professional Experience
Over the course of my career I have:
- Designed and delivered enterprise software solutions.
- Built and maintained SaaS platforms.
- Led software development teams and technology functions.
- Defined architecture for cloud-based systems.
- Implemented Agile and DevOps delivery practices.
- Worked closely with business stakeholders to translate requirements into working software.
- Mentored developers and engineering teams.
- Managed the full software delivery lifecycle from concept through production support.
My experience spans both hands-on technical delivery and leadership roles, allowing me to bridge the gap between business objectives and engineering execution.
Technical Focus
My current technical interests include:
Cloud-Native Applications
Designing scalable applications using Azure PaaS services, modern application architecture, and infrastructure automation.
Distributed Systems
Building systems that communicate through asynchronous messaging, events, and service-based architectures.
Event-Driven Architecture
Applying messaging patterns and event-driven design principles to create resilient and scalable business systems.
Event Sourcing and CQRS
Exploring architectures that use business events as the source of truth while supporting scalable read models and operational reporting.
DevOps and Platform Engineering
Automating software delivery through CI/CD pipelines, infrastructure as code, monitoring, and observability.
Artificial Intelligence
Investigating practical applications of AI-assisted development and intelligent software systems within enterprise environments.
Core Technologies
Languages and Frameworks
- C#
- .NET
- ASP.NET Core
- TypeScript
- JavaScript
- Angular
- SQL
Microsoft Azure
- App Service
- Azure Container Apps
- Azure Functions
- Azure SQL
- Cosmos DB
- Service Bus
- Event Hubs
- Blob Storage
- Azure Key Vault
- Microsoft Entra ID
- Application Insights
DevOps and Delivery
- Azure DevOps
- GitHub
- CI/CD Pipelines
- Infrastructure as Code
- Bicep
- ARM Templates
- Docker
Architecture
- Domain-Driven Design (DDD)
- Event Sourcing
- CQRS
- Microservices
- REST APIs
- Event-Driven Architecture
- C4 Architecture Modelling
Engineering Philosophy
I believe effective software engineering is built on a small number of enduring principles:
- Keep solutions as simple as possible.
- Design for maintainability and long-term evolution.
- Automate repetitive processes.
- Build observability into systems from the beginning.
- Focus on delivering measurable business value.
- Prioritise reliability, security, and operational excellence.
- Foster strong engineering cultures through mentoring and collaboration.
Technology changes rapidly, but these principles remain consistent regardless of platform, framework, or architecture.
Current Projects
I maintain several public reference projects that demonstrate modern software engineering practices using Azure and .NET.
These projects are designed to showcase:
- Cloud-native architecture
- Distributed systems
- Event-driven design
- Event sourcing and CQRS
- Infrastructure as code
- CI/CD automation
- Observability and monitoring
Each project is fully documented and publicly available through GitHub.
Outside of Work
Outside of software engineering I enjoy practical projects, continuous learning, and exploring new technologies. Whether building software, improving engineering practices, or experimenting with emerging technologies, I enjoy understanding how systems work and how they can be improved.
Building reliable, scalable software systems through thoughtful architecture, disciplined engineering, and continuous improvement.