Career Profile

Highly motivated and diverse software developer with over 25 years experience in the IT industry.

Scrum Master & Sitecore Certified.

Advocate and practitioner of Software Craftsmanship, Clean Code and SOLID principles.

Excellent communication skills, highly enthusiastic, optimistic, personable nature, industrious, innovative and a quick learner.

Fully immersed in agile methodologies such as SCRUM/KANBAN and agile project management, test-driven development, domain driven design, behaviour driven development.

Enterprise patterns and paradigms, continuous integration and build automation, planning process and agile design, code reviews, coverage, mess detection, iterations/sprints, retrospectives.

Experience

Contract Software Developer

January 2023 - July 2023
Box UK

6 month contract providing code review, maintenance, guidance and new feature development for the back-end of RS Components ThinkHub project https://rs-thinkhub.com. Built using Spring Boot 3 and deployed on Amazon AWS.

Contract Software Developer

November 2022 - February 2023
Transvault

Providing consultancy on modernizing the Transvault Migrator application written in .NET Framework.

Contract Software Developer

September 2022 - November 2022
Transvault

Working on a React, Electron and Next.js front-end app which connected to a user-specified SharePoint website and collected statistic on that site.

Contract Software Developer

April 2021 - April 2022
TPX Impact

Part of an agile development team creating the devops pipelines, security and .NET Core applications for the React+ Funded Training scheme for the Welsh Government. This included IaC, YAML pipelines, CI/CD, Docker Containers, etc. along with .NET Core MVC applications to provide public facing self-service websites that enabled employers and people who had just been made redundant to apply for funding by guiding them through a ‘wizard’ style interface. Also an admin back-end application where a team at the Welsh Government could move the funding applications along a workflow in order to check and approve them.

Contract Software Developer

January 2021 - March 2021
Foundry4

Short stint on the new NHS Job Search application using Java Spring, Liquibase.

Contract Software Developer

October 2020 - December 2020
Foundry4

Short stint on a Planning Decision Appeal app for The Planning Inspectorate using Node.js, Express, Nunjucks, Docker. Also worked on a jamstack app for on-site training for BAE using Next.js and Keystone.js as the CMS on the back-end and a React/TypeScript client app which used Apollo Client, GraphQL CodeGen and Urql to authenticate with and query the CMS.

Contract Software Developer

April 2019 - September 2020
Wales & West Utilities

Large transformation project which involved being a tech lead for a team building an enterprise Azure Cloud solution using .NET Core Microservices, Azure Functions (Serverless), Azure Service Bus, etc. integrating with SAP. Creation of a mobile application for field engineers using Vue.js, Offline First (Service Workers and WorkBox), Azure Maps, Push Notifications, Real-Time SignalR.

Contract Software Developer

Sep 2018 - March 2019
Box UK

6 Months on OKDO.COM - Enterprise e-commerce site for IoT/SBC makers, integrating with NetSuite.

Contract Software Developer

Jan 2018 - August 2018
Box UK

6 Months on the XRef Project - Using API Platform to build a REST API which accepted uploads of Excel spreadsheets, stored them in Google Cloud Storage which triggers a Google Cloud Function to process the Excel sheet. Interesting Serverless architecture.

Senior Software Engineer

Jun 2016 - Dec 2017
Bipsync

Worked on various features of the Bipsync Research Management Software using PHP and MongoDB for the back end and Backbone on the front.

Worked on the iOS app a little, fixing a few bugs and getting up to speed with Objective-C.

Did a little R&D on ZeroMQ and Ratchet (a PHP based Web Socket library).

Also started work on an Apache Kafka based project using Java 8. Created our own custom Connectors and used the Kafka Streams API to transform Avro formatted data in real-time, leveraging the schema registry.

Wrote a nice blog post about scalable, cloud based spell checking.

Software Developer

Jan 2016 - Jun 2016
Carsnip.com

Joined a start-up working on a fantastic ‘Google Search for Cars’ application. Very new and exciting technology. Java/Groovy Vert.x based microservices running in Docker containers on AWS.

The microservices self-registered with Consul (Service Discovery) and clients to these microservices used Netflix Ribbon in conjunction with Hystrix to load balance the HTTP calls to the RESTful endpoints of the microservices and ‘circuit break’ on failure.

This provided us with a fast and highly scalable architecture which could be monitored constantly and would also self-heal.

I absolutely loved the technology we used here, the architecture was rock solid and they were all fantastic people to work with.

Also used some React to build a front end onto a statistics dashboard which queried a RESTful microservice connected to ElasticSearch as the persistent store.

Principal Developer

Sep 2011 – Dec 2015
BoxUK

Award winning agile software development and consultancy. Working here I provided software development and architecture, mentorship, guidance, team leadership and oversight to multiple development teams working on different products or technologies. Did a few blog posts about the Spark Microframework and Doctrine.

Royal College of Nursing - I was development team lead on this award winning, multi site website written in Sitecore 8 MVC using tools such as TDS, GlassMapper, Razl, Sitecore Ship, Rocks.

Moneypenny Live Chat - Team lead on the Live Chat SAAS back-end. Built using ASP.NET Web API, MVC 4, SignalR, Azure Service Bus, Topics Pub/Sub.

Linguavote - Team lead on this Sitecore based e-learning platform

Investec Asset Management - Complete re-design of the IAM site using Symfony 2 and ElasticSearch.

World Vision Micro - Microfinance system used to fund start-up projects in third world countries. Written with Ruby on Rails.

Careers Wales - Aggregation and storage of job vacancy, apprenticeship and course data to be displayed on a Google Map in Amaxus. C#, SQL Server, Quartz.NET.

Artform - The Artform project team required a way of converting an SVG to a PDF. I created a small library using Java, Batik and FOP to do the job.

RS Components - Faceted search site for RS Components Microcontrollers products. Symfony 2, Solr.

Thinkbox - RESTful API providing 3rd party apps a list of categorized content in JSON format using custom Amaxus code. Optimized and performant. PHP.

Senior Developer

Dec 2006 – Sep 2011
Complete Automotive Solutions

Worked on the CloseIT and VoiceSafe products. VoiceSafe was a Asterisk PBX based call recording system used mainly by car dealerships.

For the R&D of VoiceSafe 2.0, we transferred CDR data and call recordings taken from a PBX collected through an Apache CXF client (running as a Linux daemon). Sent to server as XML and binary MTOM attachment.

Encrypted using WS-Security and RSA public/private key pairs. MP3s were enctypted using AES Shared Key algorithms.

Extensive use of Spring dependency injection, custom sharding algorithms, BoneCP connection pooling, Interceptors.

A lot of the work was test driven using Junit and Mockito.

We also used Zend Framework to build a secure web based GUI, enabling the customer to collate call statistics, monitor SLA, improve call answer rates and playback call recordings for legal purposes.

Developer

Dec 2006 – Sep 2011
Ubiquity Software

Computer Programmer

Dec 1997 – Feb 2001
Syntech

Computer Programmer

Jan 1995 – Dec 1997
Merit Computer Solutions

Skills & Proficiency

Java, Kotlin, Groovy

PHP & Symfony

C#, .NET

Cloud Development (AWS, Google, Azure)

HTML5 & CSS

Front-End (Javascript, Vue.js, React, Backbone)

Objective-C

Swift

Ruby on Rails

Python & Django

Sketch & Photoshop