Professional software developer with extensive experience. Reliable, self-motivated, positive can-do attitude, team player and friendly chap.

Contracting since 2008, clients range from large financial corporations to the games industry, charities and start-ups.

Passionate about producing beautiful, well-tested, maintainable code, adhering to best practices and industry standard design patterns, using an Agile and iterative approach.

Excellent business and client facing communication skills. Talented academic (1st Class Honours degree in Mathematics with Computer Science) with systematic problem-solving abilities.

Skills

Coding

Master
  • C# v12
  • .Net 8
  • Multithreading
  • ASP.Net Core APIs
  • TDD / Unit Testing in XUnit
  • Moq / FakeItEasy
  • BDD Specflow
  • DI
  • SOLID

Tech + Tools

Advanced
  • WPF
  • Kafka
  • Microsoft Orleans
  • gRPC
  • RX
  • SQL
  • Terraform
  • GIT
  • Docker Containers
  • Jira
  • Team City / Octopus
  • Kibana / DataDog

AWS

Advanced
  • Lambda
  • Step Functions
  • SNS
  • SQS
  • DynamoDB
  • API Gateway
  • EC2
  • S3
  • MySql
  • FTP
  • CloudWatch

Work Experience (9)

Jul 2022 - Dec 2024
Backend Cloud Developer
Starlizard
London + remote https://starlizard.com/
  • Developed features for a complex, asynchronous, low latency, event sourced / event driven betting platform. Handled bet execution, pricing, liability, market behaviour automation, sport event simulation, load testing.

  • Actor architecture using Microsoft Orleans. Subscriptions to Kafka streams. gRPC streams and Swagger end points. Persistence to MySql and DynamoDB. High test coverage using XUnit and Specflow tests.

  • Utilised many technologies and tools: Docker, K3D, Tilt, Kubernetes, MySql, Kowl, RedPanda, OpenLens, Helm, Kibana, DataDog, plus many AWS services

Nov 2020 - Jun 2022
Lead Integration Platform Developer
eCommonSense (Merchant Systems Group Limited) / ECI Software Solutions
remote https://www.ecommonsense.com/
  • Built a middleware layer between our front end Magento system and numerous Builders Merchant ERP systems.

  • Thin vertical slice components to better isolate feature implementations. Use of Mediatr for clean code separation.

  • Event driven architecture within AWS - API Gateways, SNS, SQS, Lambdas, MySql

  • Architecture declared and deployed through Terraform.

Sep 2019 - Aug 2020
Senior Software Developer
BCS
Swindon https://www.bcs.org/
  • Candidate registration system : Multiple independent, asynchronous .NET Core microservices, APIs, ASP.NET MVC websites and a Blazor client app deployed to AWS.

  • Distributed, event driven architecture within AWS (SNS, SQS, Lambdas, DynamoDB).

  • Cleanly built components utilising Mediatr, built using TDD, XUnit and mock builders.

  • Also co-developed .NET Core web application to replace legacy system. Included simple isolated SPAs in Knockout and Typescript, dynamic creation of Excel and Word reports using business supplied templates, sending customised emails.

Sep 2018 - Aug 2019
Senior Software Developer
Nationwide
Swindon https://www.nationwide.co.uk/
  • Developed .NET Core backend services for a new, large and complex distributed system for Mortgage Consultants to process new mortgage applications.

  • Hosted in Docker containers using Kubernetes.

  • Event driven architecture over Kafka. Storage in MongoDB.

  • Integration with many existing legacy services.

Jun 2015 - Aug 2018
Senior Software Developer
BCS
Swindon https://www.bcs.org/
  • Built .NET Core ASP MVC url for exam invigilators - Knockout, Bootstrap, OAuth, SQL DB, deployed to Amazon AWS EC2

  • Developed .NET image processing algorithms for detecting answer from a photo of an exam paper, eliminating lighting abnormalities / shadows and determining which circles were coloured in. High profile project request from CEO, concept to delivery in 3 months.

  • Significantly improved customer experiences and replaced several tedious, internal, manual processes through automation. Used AWS Lambdas and Step Functions to integrate internal systems with 3rd party vendors, Salesforce APIs.

  • Implemented a complete workflow for Salesforce development team – introduced source control, continuous integration, automated deployments, environment specific configuration. Provided training, documentation and support.

Jul 2013 - Apr 2015
Analyst Developer
Royal Bank of Canada - Capital Markets
London https://www.rbc.com/
  • Front Office FX application provides live + historical data for quote and deal blotters, dealer intervention, position display.

  • WPF application.

  • Low latency streaming (RV & Solace into RX)

  • High unit test coverage and reduced regression costs through BDDs (nBehave).

Sep 2012 - Jul 2013
WPF Developer
Royal Bank of Scotland
London https://rbs.co.uk
  • Back office P&L / Balance Sheet sign off application.

  • Multithreaded WPF application making heavy use of RX for its multithreading, receiving of updates, UI interaction etc.

  • Well-architected code and separation of concerns through MVVM, view-model first.

  • TDD maintains very high test coverage (+90%).

Jan 2012 - Aug 2012
Silverlight Developer
Trayport
London https://www.trayport.com/
  • Flagship Commodities Trading Platform

  • Silverlight v5 multi-window out-of-browser application for traders providing live market prices.

  • Written in C# and F#. Created new features within the application as well as maintaining it, refactoring and improving its architecture, stability and performance, plus troubleshooting and fixing issues.

  • Autofac, MEF, RX, TDD, Moq, AgUnit, Silverlight Unit Testing Framework, SpecFlow, interop to C++ COM and Win32 components.

  • Agile methodologies, pair programming, peer reviews. Provided technical support to team members.

Aug 2010 - Dec 2011
Senior Developer
BNP Paribas
London https://group.bnpparibas/en/
  • Developed enhanced WPF application framework including layouts, state persistence, magnetic windows, cross-process communication and eventing, common controls and styling and more

  • Live FX Trades blotter WPF windows application that displays live, filterable grids of FX trade data. TOC subscription service, communication using Protobuffers through RV layer, application used RX to throttle incoming data.

  • Live FX Position monitor WPF app that displays live FX positions on animated bar charts. Data can be drilled into to display different cuts e.g. by currency pair, client sector, region etc. Windows service uses continuous queries onto Coherence database and MDX queries into OLAP Cube.

Education (1)

1993 - 1996
Bachelor of Science with Honours
Mathematics with Computer Science
The University of Southampton

Interests

photography

retro tech, pixel art

acoustic guitar

poker, chess, board games

playing football

References

“ I've had the pleasure of working with Lee on a couple of occasions in the past decade, both long term consultant hires, and cannot recommend highly enough his skills and the way that he delivers them into teams and projects. When you hire Lee you're hiring much more than a professional, experienced, trusted and battle-hardened software developer. As well as the high quality outputs that you'd expect from a consultant developer like Lee, he also adds his abilities to generate, foster and maintain high levels of enthusiasm and collaboration in any team that he joins. ”
Dale Titcombe, Head of IT, BCS, The Charter Institute for IT
“ I have worked with Lee for many years, crossing several contracts / projects and I cannot rate him highly enough. Lee has been instrumental in revolutionising our ways of working and has never let me down when it comes to delivering quality product. He's also completely autonomous and finds ways of filling gaps even between tasks. ”
Ken Maes, Application Development Manager, BCS, The Charter Institute for IT