About
I’m a UK-based independent software advisor with over 30 years’ experience across embedded systems, security-focused software, distributed systems, and large cross-platform applications.
Over that time I’ve worked hands-on, led teams, shaped architectures, and helped organisations navigate technically complex projects in environments where reliability, security, and long-term maintainability genuinely matter.
Background
My background includes:
- Embedded and real-time systems
- Cross-platform C/C++ development
- Distributed and integration-heavy systems
- Security-critical software, TLS, PKI, certificates and secure communications
- Regulated and audited environments
How I Think About Software Engineering
Many difficult software problems are not caused by a lack of effort or intelligence.
They emerge when systems gradually become difficult to reason about:
- Requirements remain ambiguous
- Assumptions stay unspoken
- Integration risks surface late
- Architectures become fragile
- Complexity overwhelms clarity
In many cases the challenge is not writing the code.
It is restoring enough structure and clarity that good decisions become possible again. I’m not an advocate of heavy process and believe in a proportionate approach to software development. Perform what’s necessary and sensible to build a product in a sensible timeframe that’s of benefit both the business and customers.
That is the perspective I now bring to advisory work.
Selected Experience
Security-critical and embedded systems
Designed and delivered systems involving PKI, secure boot, TPM integration, encrypted communications, embedded Linux, STM32 platforms, and hardware-adjacent software in regulated and audited environments.
Architecture and platform evolution
Led the transition of products from monolithic desktop applications towards service-oriented and API-based architectures, improving maintainability, security, and operational flexibility.
Modernisation of engineering practices
Introduced modern C++, CI/CD pipelines, automated quality tooling, static analysis, and cross-platform build systems into long-lived engineering environments.
Technical leadership
Led and mentored engineering teams while remaining hands-on in architecture, implementation, system design, and technical decision-making.
Complex systems integration
Worked extensively on integration-heavy systems involving distributed components, protocol implementations, embedded devices, cloud integration, and mixed hardware/software environments.
Selected experience includes work within organisations such as: Hitachi, Viasat, BAE Systems, Tandberg, Ericcson, and Avon Protection.