Lyons Davidson Solicitors

2013 - 2014

Applied SOLID principles to dramatically reduce code duplication in a law firm's legacy codebase, building a reflection-based database access framework that cut typical class sizes from 4,000 lines to 400 lines and demonstrating the business value of clean code practices.

Key Highlights

  • Built reflection-based database access framework that reduced code per database interaction from 5-8 lines to single line
  • Applied SOLID principles to achieve 90% reduction in class sizes (4,000 lines to 400 lines) in a legacy library
  • Developed shared authentication and authorisation packages to eliminate duplication across Silverlight applications
  • Worked across diverse legacy tech stack including VB6, Silverlight, WPF, and ASP.NET MVC
  • Gained early career experience in internal developer tooling and framework abstraction
  • Demonstrated measurable impact of clean code practices on maintainability and codebase size

About the Engagement

My time at Lyons Davidson Solicitors as a C# Developer provided an early career lesson in the impact of applying SOLID principles to legacy codebases. I inherited a diverse technology stack spanning VB6, Silverlight, WPF, and ASP.NET MVC - each with its own patterns and varying levels of code quality.

The most significant issue I identified was pervasive code duplication. Database access code was copy-pasted throughout the codebase - each property retrieval required 6-8 lines of repeated code, with hardcoded string references to property names and individual database connections opened for every single query. For a single task, there could be 10 or more of these interactions scattered across the codebase.

I built a reflection-based database access framework from scratch that centralised this logic. The framework used dictionary-like access to property values, establishing a context on entry and allowing properties to be accessed via generated const strings, essentially using nameof(), under the hood. This reduced typical database interactions from 5-8 lines to a single line of code. In one particular library, applying this framework alongside repository patterns reduced class sizes from an average of 4,000 lines to 400 lines - a 90% reduction.

I also identified duplicated authorisation logic across the Silverlight component ecosystem and began developing shared packages to centralise these concerns. This early experience with framework development and SOLID principles shaped my approach to code quality in every engagement since. The lesson I took forward: clean code practices deliver measurable, demonstrable results.

Other Clients

Designing orchestration capabilities for complex multi-party workflows, automating documentation across a large microservice estate, and building AI-powered codebase intelligence. Delivered enterprise-scale architecture while mentoring teams and establishing standards.

2025 - 2027
View more

Architect for BPP's greenfield learner dashboard and apprenticeship progress engine. I led the architecture across three repositories, introduced .NET Aspire for a true F5 development experience, and used Claude Code to ship a working front-end and back-end proof of concept inside the first week.

2025 - 2026
View more

Conducted independent technical due diligence for Medecins Sans Frontieres, analysing their existing codebase, challenging a development agency's modernisation proposal, and delivering executive reports that enabled leadership to make informed vendor decisions.

2025 - 2026
View more

Ready to start your project?

Let's discuss how we can help your business succeed.