My Code Projects

My history

I love coding!

I graduated from the University of Salford in 2004 with a BSc (Hons) Computer Science degree, and I was a professional software engineer at Thomson Reuters for fourteen years from 2005 to 2019. I started out as a junior developer, and ended up a Software Team Lead.


I'm competent in C#/.NET for Windows desktop and webservices, but my real passions are cloud infrastructure, site reliability engineering and other DevOps-esque roles rather than just application development.

I have several years of professional experience of continuous integration/continuous deployment of microservices in Amazon Web Services, and I'd happily do it again too.

My strengths are:

  • Building CloudFormation templates; manually and via Troposphere.
  • Building Python scripts which interact with Amazon Web Services via boto3.
  • Building EC2 instance user-data scripts with Bash and PowerShell.
  • Using to bake AMIs.
  • Building infrastructure-as-code scripts in Python to deploy:
    • VPCs, subnets and NAT gateways.
    • IAM Users, Groups and Roles with appropriate IAM policies.
    • Auto-scaling groups with scaling rules, health checks and appropriate launch configurations.
    • EC2 launch configurations with user-data scripts and appropriate security groups.
    • Load balancers in front of target groups of EC2 instances.
    • KMS keys with appropriate IAM policies.
    • RDS instances with appropriate security groups.
    • CloudFront distributions.
    • Lambda functions.
    • S3 buckets with appropriate IAM policies.
    • CodePipeline pipelines and CodeBuild stages.

I'm not confident yet to say Golang is one of my strengths, but it's certainly a new love.

Open-source projects

I've released a lot of my personal code as MIT-licenced projects available on GitHub. The documentation for these projects is below.

I've also contributed to Amazon Web Service's open-source documentation and code.

Sorted by most-recently updated

Sunday, 23 June 2019


amazon-web-services python

A Python package for setting HTTP headers on Amazon Web Services S3 objects.

Sunday, 23 June 2019


infrastructure-as-code python

A Python package for reading/writing values in a WordPress wp-config.php file.

Sunday, 23 June 2019


infrastructure-as-code golang

A Golang module for generating unpredictable database credentials.

Saturday, 22 June 2019



A Golang module for generating random strings.