About Frank

Frank Ray, Software Engineer, Expert Witness.

I’m Frank Ray, a software engineer and expert witness specialising in IT and software development disputes.

For over 20 years, I have built and delivered software for demanding environments, including investment banking and asset management at firms such as Royal Bank of Scotland, Barclays Capital, Credit Suisse, and BlueBay Asset Management.

I’m a Microsoft C# .NET and SQL developer and active open-source contributor. I hold a First Class B.Eng (Hons), Computer Systems. Much of my career has involved building business-critical finance and accounting systems with remote and offshore development teams — work that taught me firsthand how and why complex software projects succeed or fail.

I remain a hands-on engineer today, currently building AI-driven and agentic software systems. I am not a practitioner who left the field; the technical assessment I bring to an IT dispute is grounded in current, working knowledge of how software is actually built.

I’m the author of Better Software Requirements, a handbook for development teams and their managers. Requirements are the foundation of successful software projects, and frequently the source of failure in disputed ones — which is much of what draws me to expert witness work.

I discovered I am autistic in my mid-40s, and learned it’s not uncommon among engineers. It’s part of why I understand and communicate with other developers so well, and why I’m particularly effective at navigating complex technical environments and reconstructing what actually happened within them: the heart of any software dispute.

I provide independent technical discovery and expert witness reports under CPR Part 35, working with solicitors, businesses, and claims teams across the UK. I have completed the Bond Solon Expert Witness Training, and all expert witness work is conducted in strict accordance with CPR Part 35, Practice Direction 35, and the Civil Justice Council Guidance for Experts.


Technical practice

Software expert witness work draws on continuing engineering practice, not retrospective knowledge. My technical practice covers:

TypeScript and ReactModern web application development
Node.jsBackend services, APIs, integration work
PythonData engineering, automation, AI and LLM integration
Agentic AI developmentPractical use of Claude Code and other LLM-assisted coding workflows
Java and SpringIncluding financial services systems
C# and .NETIncluding legacy modernisation
Database platformsSQL Server, PostgreSQL, Oracle, including data migration and integrity work
Financial services platformsTrading, settlement, payments, regulatory reporting
Agile, DevOps, and CI/CDPractices in enterprise environments

The specific depth and recency of experience across these areas varies, and is best discussed in relation to the technical questions of a particular matter.