Work

Professional experience, technical areas, and selected projects. Currently at IBM, UK.

Experience

Oct 2020 – Present
Software Engineer (CICS)
IBM · UK

Working within the CICS Transaction Server team on system-level test automation, developer tooling, and feature delivery across the core enterprise product stack. Building and maintaining automated test frameworks exercising JVM servers, Liberty runtime integration, 3270 terminal interactions, and transaction management.

June 2018 – Oct 2020
Developer / Consultant
IBM · UK

Started at IBM as a consultant, moving between projects and adapting to new technologies as required. Projects spanned chatbot development, open source clearance, and web application delivery, working across the full software lifecycle with teams at IBM and external partners.

Notable work includes building an internal department chatbot using Watson Assistant and Cloud Functions (rolled out to ~800 people), delivering an MVP Career Advisor chatbot in partnership with the Universities of Exeter and Sheffield, and developing management tooling for the ICCVE OpenTec platform using Node.js, AngularJS, and ElasticSearch.

2015 – 2018
BEng (Hons) Electronic Engineering
Southampton Solent University · Accredited by the IET

Completed a full honours degree in Electronic Engineering whilst working full-time. Covered microcomputer systems, embedded systems, digital signal processing, data and network communications, radio systems, automation and control, and applied mathematics.

2007 – 2015
Engineering Career
ATM field service & 3rd line technical support · UK & Ireland

Started out in ATM field service engineering before advancing to become a 3rd line technical support specialist covering the UK and Ireland across several companies. The work covered advanced fault diagnosis, hardware maintenance, account management, and team leadership. This grounding in practical engineering and problem-solving is what eventually led me back into higher education.

Technical areas

CICS & Enterprise Middleware

Deep knowledge of CICS Transaction Server: transaction management, resource definitions, JVM servers, Liberty runtime integration, and 3270 terminal behaviour.

Automated Testing

Framework design and implementation for automated system-level testing. Focused on reliability, repeatability, and making failure diagnosis fast and clear.

CI/CD & Tooling

Build and release pipelines using Jenkins. Scripting and tooling to speed up developer workflows, reduce manual steps, and catch regressions early.

Web & Full-Stack

Vanilla HTML/CSS/JS front-ends, Node.js/Express APIs, SQLite, and Nginx. Self-hosted on Docker with Cloudflare Tunnels. No framework complexity unless genuinely needed.

Infrastructure & Homelab

Synology NAS, Docker Compose, Tailscale mesh networking, Cloudflare DNS. Running personal services reliably on consumer hardware.

Problem Solving

Electronic engineering background means comfort with low-level systems thinking. Good at finding root causes rather than papering over symptoms.

Skills & tooling

Java Python JavaScript / ES6+ HTML5 CSS3 C Node.js Express SQLite Docker & Compose Nginx Jenkins CI/CD Git & GitHub Cloudflare Tunnels Tailscale CICS z/OS Automated Testing Defect Analysis

Featured projects

keithhinds.co.uk — this site

Architecture write-up →

Designed, built, and self-hosted from scratch. Static HTML/CSS/JS with no framework served via Nginx inside Docker. A Node.js/Express API backs the blog with a SQLite database. The whole thing runs on a Synology NAS at home and is exposed to the internet via a Cloudflare Tunnel. No open inbound ports, no cloud hosting bill.

HTML / CSS / JS Node.js Docker Nginx Cloudflare Tunnel SQLite

Personal blog platform

Part of this site

A custom blog API built with Node.js and Express, backed by SQLite. Handles post creation, editing, image uploads, and serving posts with server-side computed excerpt and reading time fields. An admin interface lets me write and publish without touching the database directly. The front-end Markdown renderer is hand-rolled: no libraries, handles fenced code blocks, ordered and unordered lists, headings with IDs, and inline formatting.

The interesting design constraint was keeping the whole thing deployable as a single docker compose up with no external services, no managed database, and no secrets beyond the Cloudflare tunnel token.

Node.js Express SQLite Docker Vanilla JS

CICS test automation work

IBM internal

At IBM I've built and maintained automated test frameworks for CICS Transaction Server: system-level tests that exercise the full product stack including 3270 terminal interactions, JVM servers, Liberty runtime integration, and transaction management behaviour. The framework runs thousands of test scenarios across multiple CICS configurations and release streams, with test output designed for fast failure triage.

The interesting engineering problems: making test environments reliably reproducible, keeping the test suite fast enough to run in CI without sacrificing coverage, and designing failure output that tells you exactly what went wrong without requiring you to rerun the test in a debugger. Most of the real work is in the infrastructure around the tests, not the tests themselves.

Java CICS z/OS Test automation CI/CD Jenkins

More on GitHub

github.com/khinds-dev →

Public repositories covering personal tooling, automation scripts, and smaller web projects. Mostly things built to scratch a specific itch or learn something new.

Various Open source