Download Markdown Download Word

Gareth Brown – Contract Software Engineer

Software and Web Engineer (C# & .NET specialist)

App Software Ltd, Dilton Marsh, Westbury, Wiltshire, BA13


PROFILE

An experienced full stack software developer specialising in internet programming and solution architecture, with an in-depth knowledge of web protocols, standards and technologies including cloud services. An effective communicator and problem solver with an organised and pragmatic approach to software development. Known by my clients for being accountable, responsible and leading on key challenges.


PUBLIC


CONTACT INFORMATION


DATE OF BIRTH

16th December 1980


LOCATIONS

South West UK / London / Remote


TECHNICAL SKILLS

(Only main / common technologies included)

Skill Proficient Commercial Experience Of
Programming Languages C#, JavaScript, TypeScript, SQL, CSS, HTML, XML, XAML, Bash, Powershell Python, Dart, C++, Java
Programming Frameworks .NET (5-9, Core / Framework / Standard), ASP.NET, MAUI, Blazor, Xamarin, Node.js, Mass Transit, Dapper ORM, Entity Framework, ServiceStack, WinUI, WPF, Win Forms, Vue.js, Angular, React, Svelte, Alpine.js, JQuery, Knockout.js, Linq, SignalR Flutter
DevOps / Cloud / Virtualisation Docker, Kubernetes (K8s), NGINX, IIS, AWS (EC2, ECS, Fargate, S3, CloudFront, IAM, Route53, RDS, ECR, SNS, SQS, SES, Anthena), Azure, Google Cloud (GCP), Digital Ocean VMWare
Databases / Messaging PostgreSQL, SQL Server, MySQL, MariaDB, SQLite, MongoDB, Redis, RabbitMQ, AWS SQS/SNS, Kafka
UI / CSS CSS, Sass, Bootstrap, Tailwind, Foundation, GOV.uk (GDS)
CI/CD / Version Control Git & GitHub, CodeCommit, SVN, TFS, Bitbucket, Jenkins, Azure DevOps, GitHub Actions Octopus Deploy, TeamCity
IDEs / Editors Visual Studio, VS Code, Jet Brains IDEs Android Studio
OS Windows, Debian / Ubuntu Linux, Mac OS, Android
Other Design Patterns, IaC, IoT, SOLID, Unit / Integration / Load Testing, TDD (Test Driven Development), Selenium, Mocking, Responsive Design, SEO, Graphic design

EDUCATION

Courses

Formal Education


DEMONSTRATION / PORTFOLIO PROJECTS

Much of my professional project work is for enterprise clients and is delivered within team environments, which makes it difficult to showcase individual, publicly accessible work. To address this, I maintain at least one demonstration project to be able to a show a fully self-built, full-stack application that reflects some of my capabilities across the development lifecycle.

www.outdoorsandeco.com

Technologies: C#, .NET Core, ASP.NET MVC, Dapper ORM, PostgreSQL, JavaScript, Alpine.js, Docker, Amazon AWS (S3, CloudFront, SES)

A description of some of the technical features of this project can be viewed at www.outdoorsandeco.com/demo


PROFESSIONAL PROJECT HISTORY

January 2023 – April 2025 (Lead Software Engineer / Solutions Architect) SHARP Upgrade for Grants Finance System – UKSBS (Contract)

Technologies: C#, .NET Core, ASP.NET MVC, Hashicorp Vault, Swagger, Microservices, Okta, RabbitMQ, Redis, Okta, Dapper ORM, PostgreSQL, JavaScript, Alpine.js, Docker, Kubernetes (K8s) XUnit, JMeter, Amazon AWS, AWS S3, AWS Anthena, Jira

Here I re-joined UKSBS (following October 2018 - March 2021 contract) to continue work on the GFS project during a major upgrade following the successful delivery of the original project. I worked hands-on alongside the permanent development, architecture and infrastructure teams to lead and support on key project goals and support the wider 'SHARP' project, integrating with work undertaken by external contractors (IBM).

Specific technical contributions have included:


November 2022 - January 2023 (Senior Software Engineer) – A.P. Moller Maersk

Technologies: C#, .NET Core, Web APIs, React, PostgreSQL, SQL Server, Entity Framework, XUnit, Moq, Azure

At Maersk I worked on the Customs House Brokerage AppLite product. This was a phased deployment to rebuild a legacy application and move it to a Maersk's modern integrated / in house platform. I was able to make key contributions to the project and advise the team on a problematic microservice architecture that was hindering project progress and help to move the project. The Customs House Brokerage AppLite was a .NET Core / Entity Framework based project integrating with Maersk APIs and automation platforms.


July 2022 - October 2022 – (Senior Software Engineer) – Forestry Commission via Quicksilva Limited (Contract)

Technologies: C#, .NET Core, MVC, PostgreSQL, Entity Framework, XUnit, Moq, GOV.uk Design System (GDS), Azure B2C, Azure Active Directory, Bitbucket

This project for the Forestry Commission required integrating with the existing Quicksilva development team to assist with meeting the MVP milestone for redevelopment of the FLO software for both internal and external user management of Felling Licence Applications.

My brief here included the progression of application development against the functional spec to meet project deadlines. Specifically, I undertook the development of an internal facing administrative system, with particular focus around identity and authorisation via the integration of Microsoft's Azure B2C. This included federated Active Directory tenants and the development of a roles / claims-based system to help manage a complex matrix of permissions for Forestry Commission employees.

I was able make key contributions to the project quickly, being familiar with common agile development processes and technologies used in the project, and with significant experience of identity and authorisation platforms.


February 2022 - July 2022 – (Lead Software Engineer) Zircon Software Ltd (Contract)

This contract for Zircon Software Comprised two short projects:

Cavendish Nuclear Waste Management Automation Project

Technologies: C#, .NET Core, WPF, Python, gRPC, SQL Server, Entity Framework, XUnit, Moq, Stateless, Docker, UML, Enterprise Architect, Azure DevOps

This project for Cavendish Nuclear, under Zircon Software was for the design and implementation of prototype control software for a hazardous waste system comprising a collection of robots and sensors (OptiSort). OptiSort manages logic, state and communications between subsystems.

Requirements were captured in a client supplied Enterprise Architect (Sparx Systems) model, which was given ownership of to update with design and implementation detail consisting of interface definitions and UML diagrams.

As lead developer I was responsible for coding, configuration and implementation of the software along with leading a team of three developers and a test engineer. Leadership responsibilities included mentoring, story writing, sprint planning, estimating, reporting and detailing of low-level design of features with the client and management.

Key achievements include the design and implementation a robust set of state machines with customised state observability, pause / resume / synchronisation (based on the Stateless .NET library). This highly automated system relies heavily on a set of 300+ well-maintained unit and automated integration tests to assure the correct working of 3 state machines comprising 50+ states and associated triggers. Clean, SOLID, dependency injection-based architecture has facilitated pain free testing and development collaboration.

My other technical contributions to the project included software architecture, tooling and library choices, project base structure, core application logic, unit testing and code review.

The team works well together which I feel my lead role has contributed to. The project is on track to complete early with a consistently high degree of satisfaction expressed by the customer throughout the project.

GPS Rail Asset Location Project

Technologies: C#, .NET Core, Xamarin, ASP.NET MVC, PostgreSQL, NUnit, Docker, JSON APIs, Wireshark, Plant UML

This was a short project while the company waited for work to begin on the main project to which I would be assigned. I was able to get up to speed quickly and contribute modules to cover key requirements. My work on this project required extending a Xamarin based mobile application to facilitate comms and report on connectivity status with a GNSS receiver and web service.

The Xamarin application used underlying Android APIs to gather the required information. Some reverse engineering of the third party GNSS receiver companion app using Wireshark was required to discover means of interacting with the device, resulting in my implementing Multicast DNS client functionality in the app to improve on current network scanning mechanisms.

This project required adherence to SIL (Safety Integrity Level) coding standards and detailed technical documentation.


April 2021 - January 2022 – (Software Engineer) - Home Buying and Conveyancing Platform - Veyco Ltd (Contract)

Technologies: C#, .NET Core, ASP.NET MVC, XUnit, Swagger, Microservices, Angular, JavaScript, Okta, Docker, Amazon AWS (ECS (Fargate), ECR / SQS / SNS), JSON REST APIs, SOAP XML Services, Mass Transit, Dapper ORM, MariaDB, MongoDB, Azure Cloud, Azure DevOps

Veyco is an investor backed start-up building services to support home buyers, sellers, estate agents, mortgage brokers, mortgage lenders and conveyancers. Further information regarding the business is restricted by NDA.

As a full stack Software Engineer, I led the design and implemention of the the infrastructure and application code to support this ambitious financial services (FinTech) application. Using Azure DevOps to set up CI/CD to deploy containerised applications to AWS ECS (Fargate) services and configuring multiple load balanced applications for web portals, database migrations and workflow, I have set up a robust and low maintenance architecture that has enabled rapid code deployments and progress.

On the application development side, my role was primarily back-end development for this project, which has included (alongside general .NET Core application development): Okta SSO integration, HMLR (Land Registry) API integration, Workflow and message bus system design using Mass Transit, Database integration (RDBMS and NoSQL), Swagger API UI integration, Docker file curation, Integration Testing and Unit Testing.

The project was progressed to a stage with demonstrable multi-portal user interfaces over multiple environments and advanced workflow management, which supported further advancement of business goals.


October 2018 - March 2021 – Senior Software Engineer - Grants Finance System - UKSBS (Contract)

Technologies: C#, .NET Core, ASP.NET MVC, Swagger, Microservices, Okta, RabbitMQ, Okta, Dapper ORM, PostgreSQL, JavaScript, Docker, XUnit, JMeter, Amazon AWS, GDS, Jira

UKSBS is a public sector service provider. Here I worked within an agile team of 15 including 3 developers, a technical architect, a DevOps engineer, and two testers, a BA and a project manager. The project was the development of a replacement for the existing Grant Finance System (GFS) which manages the allocation of funding to government backed research projects. This project was successfully moved into production in December 2020 and is now in the maintenance phase.

The new GFS system is a set of microservices running on AWS / Kubernetes. Microservice architecture was specified to facilitate fault tolerance and the potential future replacement of individual services. Well defined APIs and distinct databases were to be developed for each service while using a consistent technology stack and coding standards that would set a precedent for new software development projects within UKSBS. The project implemented full CI/CD and was deployable to multiple environments within AWS from early on.

My role within the team was to lead on implementation of core design choices as specified by the technical architect. I was responsible for coding, configuration and integration of key application features including single sign on (SSO) integration (Okta / OAuth / OpenID Connect), inter-process comms including API development and messaging framework (RabbitMQ), concurrency handling, internal code libraries, UI framework and general application architecture.

In addition to core development activities, I was tasked with mentoring junior team members, requirements gathering and story creation, with frequent contact with end users and project stakeholders. Towards the end of the project my role moved towards training of technical members of the permanent staff and maintenance of the applications.


February 2018 - September 2018 – (Senior Software Engineer) - IMI Social / O2 Netflix API Integration / PayForIt - IMImobile (Contract)

Technologies: C#, ASP.NET MVC, Dapper ORM, SQL Server, SignalR, JavaScript, JQuery, Amazon AWS, NUnit

Much of my time during this assignment was spent developing upgrades for IMImobile's social media aggregation product - IMISocial. This product is used by several large clients including the BBC, and its primary purpose is managing large streams of messages from the major social media platforms such as Twitter, Facebook and Instagram, facilitating the curation of information for use by TV and radio presenters. Tasks included maintenance and extensions to API consumption modules and application / UI features.

An additional project with which I was involved was the development of client code for consumption of the Netflix partner API for use in O2 customer promotion workflows.


December 2017 - January 2018 – (Software Engineer) - Plumbing and Heating Retail Web Application - House of Radiators (Contract)

Technologies: C#, ASP.NET MVC, Entity Framework, Dapper ORM, SQL Server, SignalR, JavaScript, JQuery, Amazon AWS

This project was for the re-design and maintenance for existing ASP.NET MVC website to improve device compatibility (responsive design) and image management. Other upgrades included implantation of a new payment processor, and a solution for managing a large and specialised product catalogue. As the sole developer on this project, I was able to design and advise on the most complete, robust and cost-effective solutions for the various challenges facing this small business.


July 2016 - November 2017 – (Senior Software Engineer) - O2 Tariff Management - IMImobile (Contract)

Technologies: C#, ASP.NET MVC, Dapper ORM, SQL Server, JavaScript, JQuery, Knockout.js, mustache.js, Amazon AWS

Along with assisting on other web-based projects for major UK telecommunications providers, my primary task at IMImobile was the development of a management portal for O2 tariff management. O2 required the development of a management tool for creating and maintaining tariffs and special offers. The solution comprised an internal facing web-based GUI and development of an accompanying database. A UI capable of managing complex state, business logic and extensive validation of input was key to the success of the system, which was achieved by a largely JavaScript driven ASP.NET MVC web portal. Enterprise grade security and user management was also a key component of this project.


Jan 2016 - July 2016 – (Senior Software Engineer) - International CRM System - Dyson (Contract)

Technologies: C#, ASP.NET MVC, Entity Framework, MSMQ, JavaScript, JQuery, SQL Server, Amazon AWS

Providing cover following departure of a permanent senior developer. Dyson required assistance extending existing CRM systems to support expansion to new markets in China and Europe along with the implementation of new APIs to support device diagnostics applications and IoT devices.

New APIs built as part of Dyson's upgraded digital presence were built for high availability running in the AWS cloud. Verification of fitness for purpose included the development of the API (C# / Web API 2), a JavaScript test client application, stress testing and documentation.


Oct 2015 - Dec 2015 – I/O Content (App Software Ltd Internal Project)

Technologies: C#, ASP.NET MVC, JavaScript, AngularJS, JQuery, Massive, MySQL, MongoDB, Amazon EC2, S3

Project detail available on request.


Jan 2015 - Oct 2015 – (Senior Software Engineer) - Armed Forces Social Network Website Redevelopment - Clever Digit Media (Contract)

Technologies: C#, ASP.NET MVC, JavaScript, AngularJS, JQuery, Massive, MySQL, Amazon EC2, S3

Project detail available on request.


Nov 2014 - Dec 2014 – (Senior Software Engineer) - Secure Media Data Browsing Application - Clever Digit Media (Contract)

Technologies: C++, C#, SQLite

Project detail available on request.


Sep 2013 - Oct 2014 – (Senior Software Engineer) - Back End Processing Systems - Clever Digit Media (Contract)

Technologies: C#, ASP.NET MVC, Windows Services, Entity Framework, SQL Server

Project detail available on request.


May 2013 - August 2013 – (Senior Software Engineer) - Email Marketing System - Clever Digit Media (Contract)

Technologies: C#, ASP.NET MVC, Windows Services, Entity Framework, SQL Server

Project detail available on request.


Feb 2012 - Apr 2013 – (Senior Software Engineer) - Genealogy Website Re-development - Clever Digit Media (Contract)

Technologies: C#, ASP.NET MVC, JavaScript, JQuery, Entity Framework, MySQL, SignalR, Amazon EC2, S3

Project detail available on request.

Both strong back and front-end development skills were required throughout this project.


Nov 2011 - Jan 2012 – (Software Engineer) – Enterprise Data Processing Framework - DBG Bristol (Contract)

Technologies: C#, ASP.NET MVC, JavaScript, JQuery, Windows Forms, Entity Framework, SQL Server, NServiceBus, Managed Extensibility Framework (MEF)

Project detail available on request.


Sep 2010 - Sep 2011 – (Software Engineer) - SaaS Price Monitoring Service - Clever Digit Media (Contract)

Technologies: C#, ASP.NET, JavaScript, JQuery, Windows Forms, SQL Server, Web Services

Project detail available on request.


May 2011 - Jun 2011 – (Software Engineer) - Point of Sale System and Retail Website Design and Build - House of Radiators Ltd

Technologies: C#, ASP.NET MVC 3, Entity Framework, SQL Server, JavaScript, JQuery

Project detail available on request.


Jan 2010 - Aug 2010 – (Software Engineer) - Financial Services System Design, Build, Maintenance and Consultation - Richmond Group Bournemouth (Financial Services) (Contract)

Technologies: C#, ASP.NET, Windows Forms, SQL Server, Web Services, SQL Server Reporting Services

Project detail available on request.


Jan 2009 - Jul 2009 – Software Engineer Rail Victoria Line Comms Network Test Lead - WRSL (on subcontract from Zircon Software)

Technologies: XML, Network hardware testing, Network monitoring software

Project detail available on request.


Previous project experience to 2007 available on request