Phil Halfpenny

Solutions Architect and Principal Developer

About Me

Hi, my name’s Phil and I’m a solutions architect and principal developer. I have over 20 years’ experience in software and web development, including both on-premise and cloud infrastructure support and maintenance and a history in technical support. I have worked in a variety of companies over the years ranging from large financial institutions to small creative agencies and everything in between.

My main skill set consists of: System Design, Software Development, DevOps, AWS and Build Automation.

Projects

Sole Designer and Developer of IoT Edge Agent

To provide the bridge between customers’ NVT devices such as NVRs and IP Cameras and an AWS IoT based cloud platform, I designed and developed edge agent software to run on a gateway device.

The software was developed in Go and handles connection and authentication to the IoT platform as well as connections to a range of NVR devices from different manufacturers.

The agent handled communication with each target device concurrently and deals with monitoring the state and configuration of the device as well as raising events with the IoT platform as they occur.

Key Technologies: Go, MQTT, ISAPI, ONVIF, AWS, IoT

Full CI/CD Implementation

I designed and developed a CI/CD system using Atlassian Bitbucket, Jenkins, Terraform and AWS that could launch a full platform of software applications and associated infrastructure automatically into an AWS account within 2 hours, compared to the 3 days it would take to set everything up manually.

After the initial launch, further software changes run through the same pipelines, providing fully automated unit and integration testing and after successful testing, deploys to the production environment.

Deployment time and stability have been reduced considerably from previous manual deployments and any downtime has been minimized. In the event that any bugs do slip through into production, one-click rollbacks are available.

Key Technologies: AWS, Terraform, Jenkins, Bitbucket, Nexus, Docker/ECS, .Net, Python, Bash, Linux

AWS to Azure Comparison

As part of a project to apply for Microsoft Partnership, I was tasked with seeing what was involved in migrating the existing AWS solution to Azure.

I was able to map the relevant services across to Azure and run everything successfully, but at the time, Azure didn’t provide the required level of redundancy that AWS offered.

Key Technologies: AWS, Azure, Terraform

Redevelopment of SMS Subscription Management System

I took an existing application that required a large amount of downtime to deploy updates and affected a large number of customers every time the smallest change was made.

By applying standard OOP practices, I was able to redevelop the critical application into a dynamic, plugin based service were each customer’s plugin could be stopped, updated and restarted independently of the rest of the application, allowing for improved maintenance with minimal impact on all customers’ uptime.

Key Technologies: C#, OOP, Inheritance, Polymorphism, Dynamic DLL Loading

Experience

Intamac Systems Ltd.

Solutions Architect and Principal Developer

October 2018 - Present

www.intamac.com

Upon my most recent employment at Intamac, I came in as a DevOps Engineer using my experience from my previous role at ContactEngine to design and implement build pipelines for the Continuous Deployment of a Microservice based IoT Platform. Although I continued to maintain and improve the CI/CD pipelines, I also got involved in the development of the Microservices and over time, took on the role of Solutions Architect for the whole Platform.

Today, I am solely responsible for the design and implementation of the Platform and am heavily involved in the software development of the Microservices using mainly .Net and Python. I am also the lead developer of the “agent” software, developed with Go that is deployed to edge devices to communicate with the Platform and integrate devices with the Platform services.

Main Skills: AWS C# Go Python Docker Jenkins Terraform Bash Linux git

ContactEngine

Senior Software Developer / DevOps Engineer

October 2017 - October 2018

www.contactengine.com

I started at ContactEngine as a .Net software developer for their innovative AI powered customer services platform, primarily developing backend services to support the integration from the front-end to the AI engine.

After a couple of months, an opportunity became available to get involved in a DevOps focussed role and I took the opportunity to use my existing experience of Ops and Software Development to maintain existing build pipelines and processes as well as develop new ones. I developed some web based tools using Ruby on Rails to allow the Software team to be able to self-service infrastructure and manage their own releases to production where appropriate.

Main Skills: AWS Azure C# Ruby/Rails Jenkins Terraform Bash

Studio One

Software Developer

October 2016 - October 2017

I was brought in to Studio One’s digital team to develop a new product for an existing client to help manage logistics. A basic prototype had been developed using Laravel and I continued to develop this further, working very closely with the client and their employees to understand their processes and develop the product to meet their current needs and improve processes where possible.

I also assisted in the development of the digital team’s bread and butter Wordpress and WooCommerce websites (as well as a Magento Shop) and maintained the web hosting infrastructure.

Main Skills: PHP Laravel Magento WordPress WooCommerce mySQL HTML jQuery CSS Infrastructure Management

iPSL Ltd.

Windows Developer

April 2016 - August 2016

www.ipsl.co.uk

As part of iPSL’s windows development team, I was tasked with developing internal software projects to help different departments with their day-to-day tasks in the cheque clearing process.

Main Skills: C#/.Net SQL Server Windows Forms Windows Services TFS

Intamac Systems Ltd.

Senior Programmer Analyst

September 2014 - March 2016

www.intamac.com

On my second outing at Intamac, I returned to the software development team and ended up working as the liaison between the software team and the operations team which were siloed at the time. My role ended up moving more towards the operations side and involved determining server resource requirements for applications, working closely with the Database Administrator to optimise application and database interactions as well as developing firewall rules using Tcl.

Main Skills: C#/VB.Net SQL Server Web Forms Windows Services WCF REST APIs Subversion/git Infrastructure Management F5 Firewall Tcl

Kinetic Creative Ltd.

Head of Digital

April 2013 - September 2014

www.kineticwecreate.co.uk

As the Head of Digital at the creative agency Kinetic Creative, I led a small team of web developers with the aid of the creative team to develop a number of websites and web applications, primarily using WordPress ranging from simple websites advertising a companies product(s) to a dynamic survey application used within the NHS to try to reduce the prescription of antibiotics as frequently..

Main Skills: PHP mySQL WordPress HTML jQuery CSS Infrastructure Management

Intamac Systems Ltd.

Senior Programmer Analyst

April 2011 - April 2013

www.intamac.com

During my first employment at Intamac, I was part of the software development team working on a number of services for communicating with customer devices and providing web interfaces to manage these devices. These included home alarm systems, gas meters and more.

Main Skills: C#/VB.Net SQL Server Web Forms Windows Services WCF REST APIs SourceSafe

Fifth Dimension/

Web Developer

April 2010 - April 2011

At Fifth Dimension I took over the development of the company’s reporting web software used by customers to report on the myriad of data that we collected for them regarding retail store layout efficiency. Working closely with the Database Administrators, we were able to provide a clean, intuitive and efficient interface to all of the customers information.

Main Skills: C# SQL Server Web Forms

RedTie Ltd.

Web Developer

November 2009 - April 2010

RedTie were the software backend of the It’s a Gift service, developing the interactive website allowing customers to visualise their own images on calendars, mugs and cards etc., then submit them to be printed and delivered to them. I worked on the Classic ASP backend of the website, bug fixing and optimizing the existing codebase.

Main Skills: Classic ASP VBScript

Infomedia Services

Senior Application Developer

October 2007 - November 2009

At Infomedia Services, I redeveloped the internal SMS subscription handling service using OOP to make it more modular, easier to update and easy to maintain with minimal downtime. I also led projects to integrate with PayPal and other payment gateways to be used for managing subscriptions on WAP sites

Main Skills: ASP.Net VB.Net SQL Server WAP

Nemisys Enterprises Ltd.

Web Developer

March 2007 - September 2007

Nemisys was a small company providing custom websites to customers based on a CMS system developed in-house. I was involved in a number of web projects most using classic ASP, but also started investigations into migrating the CMS to .Net 2 and web forms.

Main Skills: ASP VBScript SQL Server ASP.Net VB.Net

Servo @ Barclaycard

Senior Delivery to Desk Engineer

September 2005 - March 2007

After thinking that software development was not for me, I decided to go back to IT Support and started working for Servo, based at Barclaycard head office in Northampton. Day to day, I would be determining users’ software requirements for new computers, “building” both desktop and laptop computers pre-configured for each user, then installing them a the user’s desk and providing training. It was here that I was first introduced to the Blackberry smart(?)phone and took over user training for Blackberry devices across the company. I was promoted to “VIP” Engineer which involved me being sent out to high profile users throughout Barclays and Barclaycard sites across the country to install new hardware and provide training.

Main Skills: Customer Service User Training Hardware Installation

MACS Software Ltd.

Junior Programmer

August 2004 - September 2005

My first software developer role and I was developing using Visual Objects to develop warehouse management systems.

Main Skills: Visual Objects SQL Server

Tingdene Homes Ltd.

IT Manager

January 2000 - August 2004

My first IT job out of secondary school, I started here as PC User Support, providing computer support services to all computer users within the company. After 2 years, I became the IT Manager, supporting a Windows NT 4.0 network of around 250 computers and managing 1 additional member of staff in the IT Team.

Main Skills: Windows NT 4.0 Windows 2000 Active Directory Networking User Support and Training

Education

Weavers GM School

GCSEs

1993 - 1998

I studied 12 GCSEs and received 9x A-C grades, including English, Maths and Science as well as 3x D grades.

A Little More About Me

Alongside my general interest in technology, computers and software development I also enjoy:

  • Electronics
  • Gaming / Game Development
  • LEGO
  • Reading