A6k

Software + Skydiving

Powered by Hugo, Personal Web and Font Awesome library

© A6k

CV

HeadshotA keen technologist, a skilled self-starter with 20+ years of experience in a variety of environments and roles. An avid learner, always keen to collaborate and share lessons learnt. Able to combine strategic thinking with tactical pragmatism.

CV in PDF format

Oval Money [Contract Developer]

2022-June - present / Fractional Investment project

Fractional Investment project:
A system to process user orders for financial instruments in partial amounts.

Partly a modernisation project. Placing streaming api’s in front of legacy feeds.
The core order processing system written using akka.net. Various services to integrate with pricing; 3rd party buy/sell and account/bank operations; interact with in-house systems to tie it all together.

dotnet 6/7 with aspnetcore, akka.net; kafka; postgresql; sql server.
Hosted with kubernetes in AWS.
CI-CD using gitlab, helm, argocd

tech: dotnet, csharp, Kubernetes, Kafka, akka.net, gitlab, argocd
work: coding, architecture, devops

Insync Group [Contract Developer]

2022-Jan - 2022-Apr / Channel Partners project

Accounting and Tax services for the self-employed.

Adding features for identifying fees for Channel Partners.
System is self hosted with dotnet for UI, APIs and message bus.

Currently built with .Net Framework. I built packages in netstandard and net6 to replace/modernise parts of the platform while keeping a level of source code compatibility to make migration possible.

tech: dotnet Core, dotnet Framework, csharp, Azure ServiceBus, Azure devops
work: coding, architecture, devops

NFER [Contract Developer]

2021-Jun - 2021-Oct / ENOT project

Building an E-Assessment system.

Management of Pupil & Establishment details and integration of the web based test taking system where Pupils are assessed.

Help move project towards a more “micro-services” based approach.
Built the module that takes the Test details, the responses of the Pupil, together with an inhouse set of rules to assess the responses to mark and assign scores.

Integrated with systems both up and downstream.
Initial work on improving devops pipelines and deployments to k8s.

tech: dotnet Core, csharp, Docker, Kubernetes, Nats, RabbitMQ, MassTransit, Azure devops
work: coding, architecture, devops

Medivet [Contract Developer]

2020-Feb - 2021-Jun / Freedom2 project

Develop a new web based application to support the running and management of veterinary practices. The current system has reached its scaling limit and a new system is required to support business growth.

Written from the ground up with a micro-services style in C# with dotnet 5.0 in the backend to support Angular with ngRx in the browser. Using SignalR (websockets) as the primary “api” transport and a message bus to provide a scalable, realtime feel to the app.

I also built the devops pipelines to build, test and compile into docker containers using Helm to deploy to k8s clusters.

tech: dotnet Core, csharp, Docker, Kubernetes, Nats, RabbitMQ, MassTransit, Azure devops
work: coding, architecture, devops

Game [Contract Developer]

2019-Mar - 2019-Nov / Digital Transformation project

Micro-services integrating legacy systems (JDA, WebSphere) with new Product Information Management system (Akeneo, Algolia).
CSharp in dotnetcore, with docker, Kafka.

Created build system with Bitbucket/Bamboo. Ensured consistency, testing, versioning across all libraries and services.

Created app framework to simplify creation of services (logging, metrics, config etc) and producing/consuming events on Kafka and IBM MQ.

tech: dotnet Core, csharp, Docker, Kafka, messaging, SOAP
work: coding, architecture, devops

GfK [Contract Deveoper]

2018-Jul - 2019-Feb / Sales Effectiveness - Price Promotion Tracker

Scans sources for pricing information. Data is normalised, translated, aggregated into data stores with api’s and a web ui. Clients can then track actual selling prices of their products or competitor pricing policies.

Processing via a messaging platform. Migration to dotnet Core, Linux containers, Kubernetes, Kafka. I worked across the system. Also created frameworks to ease creation of services and api’s, applying standards and cross cutting concerns.
AWS, net46+, dotnetCore, RabbitMQ, Kafka, ElasticSearch, Api’s, caching, messaging, vsts, git, docker, kubernetes, helm

tech: dotnet Core, csharp, docker, kubernetes, RabbitMQ, messaging
work: coding, architecture, devops

Codit/SwissRe [Contract Developer]

2018-Feb - 2018-Jul / Parametric Natural Catastrophe insurance

Uses authoritative sources to monitor events such as earthquakes and cyclones to automatically payout when the event matches the policy criteria. no human in the loop.

As a team member I worked on many parts of the system: api’s; message handlers; catastrophe impact calculation; policy processing; automated testing; deployment pipelines …

Azure, net46+, dotnetCore, ServiceBus, AppServices, LogicApps, Api’s, caching, messaging, vsts, git

tech: Azure, dotnet, dotnet Core, ServiceBus, AppServices, LogicApps, caching, messaging, vsts, git
work: coding, architecture, devops

Blackbox [Contract Developer]

2017-Feb - 2018-Feb / Information systems for UK train network

Tracking trains on UK network. Processing messages from external systems. Maintaining internal data stores. Api’s to drive customer facing displays and control room. Driving automated announcements with speech synthesis through a custom service to on site devices. Tested via emulation in software.
Azure, ServiceFabric, redis, cosmosdb, service bus, sql, c#, aspnetcore, akka

tech: dotnet, csharp, aspnetcore, Azure, ServiceFabric, redis, cosmosdb, ServiceBus, sql, akka
work: coding, architecture, devops

Global Radio [Contract Developer]

2016-Sep - 2016-Dec / Ad scheduling systems

Asp.net WebApi, Angular2, TypeScript, Kendo, dapper, SqlServer, CQS, RabbitMQ.
Resolved several performance issues (mainly threading and async). Reworked backend framework, services and build system to improve DRYness and reduce developer friction.

tech: csharp, javascript, D3, dotnet, WebApi, Angular2, TypeScript, Kendo, dapper, SqlServer, RabbitMQ
work: coding

Connections Education [Contract Developer]

2016-Apr - 2016-Jul / Updating online educational system

Member of a remote virtual team. Working within clients agile processes and closely with several project teams.
Involved in several aspects of updating CEs online education systems.
Gitflow based development within VSTS.
HttpClient based proxy for internal and external services. Custom formatters and serializers. Protection from async deadlocks.
Integrated 3rd party api via Azure ServiceBus to internal systems.
Created testing and mocking frameworks for testing services.

tech: dotnet, csharp, dapper
work: coding, architecture, devops

Artesian Solutions [Chief Architect]

2007-Aug - 2015-Feb / A SaaS product providing internet content to sales and marketing

Uses a taxonomy to tag and categorise content. Users are supplied with relevant stories that allow them to engage with their prospects and customers. Also provides access to company information, both to individual companies and via segmentation/faceting to isolate a prospect list.

Joined at inception. Created or collaborated on core services. Raw content retrieved by custom spider and via 3rd parties. Taxonomy and content processing. Custom syntax and parsing. Distributed processing mechanism. Service Discovery. Centralised logging and metrics collection. Configuration systems. Multi-tenancy. Identity service. Early years infrastructure support. Developer systems (Jira, Confluence, TeamCity, Subversion, git). Worked with growing team to ensure common approaches and coach on how the core could be developed and exploited. Remaining time spent on research into product futures, implementation options and optimising performance bottlenecks.

tech: dotnet, csharp, Lucene, SQL, dapper, TeamCity
work: coding, architecture, devops

Whitelight [Support, Trainer, Consultant]

2004-Jul - 2007-Aug / Business Intelligence

Trainer, pre/post sales support and consultant on Whitelight ROLAP server product. Primarily aimed at data specialists, mostly in the financial sector. I created several custom desktop and html frontends to package the features for less technical users.

tech: delphi, BI, ActiveX, Notes, networks
work: coding, architecture, devops

Then Ltd [Senior Engineer]

2004-Jul - 2007-Aug / Digital Asset Management

Introduced dotnet, C#, Asp.net. Developed customer facing web UI for storing, editing and scaling PDFs. Responsible for internal machines, servers and network including exposing the app to the internet.

tech: dotnet, csharp, Lucene, SQL, networks
work: coding, architecture, devops

Aprimo [Principal Engineer]

2004-Jul - 2007-Aug / Digital Asset Management Software and MRM System

Then ltd purchased by Aprimo. I moved to Indianapolis to incorporate Then’s Asset Management system into their marketing product. Concerns about LGPL licensed libraries required the writing of a PDF parsing and manipulation library direct from the specs. Introduced Subversion. Also involved in building and supporting new features.

tech: dotnet, csharp, Lucene, SQL
work: coding, architecture, devops

Cognos [Support, Trainer, Consultant]

1992-Sep - 1998-Apr / Business Intelligence provider

Trainer, support and consultant on Cognos products, both Powerhouse and their desktop reporting and OLAP analysis suite. Many projects at large multi-nationals.
While in the Business Development Group I created a “game” which embedded the products into a desktop app written in Delphi. This was played by by prospects to show the value of analytics in a business context.

tech: Delphi, BI, PowerHouse 4GL
work: coding, architecture, devops

Haynes Publishing [Programmer]

1987-Aug - 1992-Sep / Book Retailing

Order processing, stock control, accounting.
Cognos Powerhouse 4GL on Data General, migrated to unix.
Created several systems level integrations between proprietary DG equipment and unix systems.

tech: DataGeneral, unix, PowerHouse 4GL
work: coding