Overview

I have worked professionally in software engineering and IT-related roles for nearly 30 years. Over that time I have worked across a wide range of technical environments — from desktop support, infrastructure management, and legacy Microsoft systems through to modern cloud-hosted platforms, TypeScript applications, automation workflows, and large-scale production systems.

My experience spans:

  • software engineering
  • infrastructure and server administration
  • cloud-hosted applications
  • frontend and backend development
  • database design and management
  • observability and monitoring
  • deployment automation
  • CI/CD workflows
  • media infrastructure
  • technical support and mentoring

A large amount of my career has involved balancing technical problem solving with practical long-term maintainability, often working within evolving systems and environments that needed to continue supporting real users and businesses over many years. I particularly enjoy modernising older systems, improving sustainability, simplifying workflows, and designing solutions that are robust without becoming unnecessarily complicated.


Assist Digital

As a Senior Developer at Assist Digital, I work across the full stack building and maintaining modern web applications, APIs, and production systems using technologies including Angular, NestJS, PostgreSQL, AWS, and cloud-hosted infrastructure.

The role involves end-to-end ownership of applications and services — architecture, implementation, deployment, security, observability, production support, and long-term maintainability. Much of the work focuses on designing systems that are scalable, sustainable, and capable of evolving safely over time while still meeting business requirements and delivery deadlines.

Alongside engineering work, I regularly contribute towards:

  • CI/CD improvements
  • workflow automation
  • observability and monitoring
  • debugging production issues
  • infrastructure support
  • technical standards
  • maintainability improvements
  • mentoring and support

Shadow Computers

Shadow Computers is my long-running, part-time independent technical consultancy, originally established in the early 2000s. What initially began as helping friends and friends-of-friends with technical support and websites gradually evolved into a long-term side business that I continue to run outside of my primary full-time career.

Much of the work is carried out during evenings and weekends, allowing me to continue working directly with smaller businesses, personal clients, hosting environments, and real-world support scenarios outside larger corporate environments.

Over the years this has included work involving:

  • website hosting
  • email hosting
  • Microsoft 365 administration
  • Exchange and mail systems
  • DNS management
  • migrations
  • website development
  • infrastructure support
  • backup and recovery systems
  • client support and training

Running Shadow Computers has provided valuable experience not only in technical systems, but also in communication, customer support, documentation, troubleshooting, and balancing technology against real-world business needs.


Holosuite Media

Holosuite Media is a science fiction, fantasy and gaming podcast network focused around community-driven content creation. Over the years I have worked across a wide range of creative and technical roles including Executive Producer, host, audio engineer, editor, livestream operator, publisher, technical administrator, and automation/workflow support.

On the technical side I have worked on:

  • livestream infrastructure
  • publishing workflows
  • automation systems
  • website management
  • media encoding
  • social distribution
  • hosting and infrastructure
  • workflow optimisation

And on the creative side:

  • podcast production
  • audio editing
  • livestream overlays
  • branding
  • video editing
  • creator support
  • community management

Earlier career and foundations

Before moving fully into modern software engineering and cloud-hosted development, much of my earlier career involved infrastructure, support, desktop environments, server management, and legacy systems. That experience provided a strong foundation in troubleshooting, systems thinking, communication, customer support, documentation, infrastructure management, databases, maintainability, and long-term support.

Working with older systems and production environments also gave me a deep appreciation for sustainable engineering and the importance of designing systems that can evolve safely over time rather than simply focusing on short-term implementation. Many of the principles that still shape how I approach software engineering today originally came from supporting and maintaining real-world systems where reliability and long-term stability mattered far more than trends or complexity.