Software Engineering
I've been building software professionally for more than 25 years, with extensive experience in web application development, databases, security and integrations.
My experience spans backend development, application architecture, databases, APIs, web applications and the infrastructure required to run them. I still value hands-on engineering. Good architecture needs to be grounded in an understanding of how systems are actually built, deployed and maintained.
Architecture & Cloud
I've worked extensively with Microsoft Azure, designing and implementing cloud-based applications and infrastructure.
My experience includes traditional web applications, serverless technologies, storage, API management, identity, data flows and ETL, and infrastructure-as-code.
I've worked across both software and infrastructure, helping teams make architectural decisions that balance technical requirements with cost, complexity, security and maintainability.
Technical Leadership & Team Development
I've spent many years leading technical teams and mentoring engineers. My approach is to provide direction while helping engineers develop the skills and confidence to make good technical decisions themselves.
I've worked with developers at different stages of their careers and have particularly valued helping engineers grow into greater technical responsibility. I've also worked on improving engineering practices, development workflows and the way technical teams collaborate.
Security & Compliance
I have owned the Security Architecture and Security & Compliance functions of different SaaS organisations, working across security, risk, compliance and engineering.
One significant achievement was leading one organisation through its first SOC 2 Type II audit, establishing a repeatable audit and compliance process that supported subsequent audits.
My approach to security is practical and grounded in real-world experience. I focus on helping organisations understand and address technical security risks without creating unnecessary complexity.
Case Study: Community care organisation
The existing setup
A community organisation, who provides emergency and crisis relief to people in need, was relying on a legacy client database running on a single PC using Microsoft Access.
The system had limited access controls and no reliable backup, creating significant operational and security risks. They also wished to improve their reporting and data analysis capabilities, which the legacy system did not support.
They were concerned about the risks of migrating to a new system, and did not have the technical expertise to evaluate their options or undertake the migration themselves.
They needed a modern replacement that was going to meet their needs and be maintainable by non-technical staff.
How I helped
- I met with the business owner and key staff to understand their requirements and existing workflows
- I evaluated potential software vendors and provided options for a path forward, taking into account their budget, maintainability and future direction
- We selected a replacement system appropriate to their needs
- I extracted, transformed and cleaned the existing data
- I migrated the data into the new system, configured the necessary settings and organised a training plan in conjunction with the vendor
- I followed up on the effectiveness of the new solution during the pilot phase and once it was in production
The result
The organisation moved from a fragile, single-PC legacy system to a modern platform that better supported their work.
Not only were they very happy with the result, they have also been able to gain better insights into their operations than they initially expected possible. And they were also able to introduce safer controls on access to their data.
Experience that is relevant to your problem
Every engagement is different. I don't assume that the solution is to introduce a particular technology, methodology or architectural pattern.
Instead, I bring experience across software engineering, architecture, cloud, security and technical leadership to help understand the problem and determine what makes sense for your organisation.