Nationwide is the largest building society in the UK, and as such has a requirement for stable and usable facilities to help maintain member's financial security. I currently maintain CI/CD pipelines and applications which allow developers to focus on development and security researchers to focus on security. Nationwide CI/CD team works with applications and technology such as AWS, Azure, Github, Harness, Jenkins, Artifactory, Snyk, Dynatrace, ansible, terraform, python, Go, bash, powershell and more.
Red Technology is a Microsoft Gold partner which provides online e-commerce solution websites with features such as customisation, PCI security, multiple payment gateways, DDOS, and more for a number of big brands. In the Technical team, my main role is maintaining the hosting, certificates, domains, DNS, routing & failover, and more for customers, as well as ensuring monitoring and internal services are functioning. General desktop support to internal users is secondary. Having Docker and Kubernetes knowledge, I started the move of internal services (DNS, portals, proxies, relays, monitoring) from a monolithic Windows environment to Lunix-based Docker images. This allowed the company to properly start moving these images to Kubernetes, with a view to porting customer hosting in the future. Other projects include introducing Gitlab source control and CI/CD pipelines for the inhouse projects, implementing NetBox for hardware and networking diagnosis, and some small scripts with a view to automating certificate and domain renewal.
D2IQ provides an independant kubernetes platform service, with options of using various providers (such as AWS, GCP, Azure, EKS, AKS, and on prem). In my support role, I kept customers HA deployments running smoothly by solving issues (including OOM crashes, cluster certificate issues, DNS problems, deployment & pod breakdowns) and researching KB articles to assist future out-of-band questions. I assisted in internal verification of issues and enhancements, such as coding, alternate operating systems and inserting new components into the core stack. I utilised my technical writing experience to contribute to user facing documentation, as well as internal technical instructions and processes. With D2IQ, I obtained my CKA qualification, and I am slowly working towards my CKS.
Openda is a small company that develops and supports their own in-house CRM/ERP business software solution, entirely written in Progress Openedge.
Openda markets their user-focused QX software system to SMEs with the slogan "Simplicity, Clarity, Speed", alongside providing knowledgable IT Support where needed for networking, servers and desktops, Office365, phone systems, backups and more.
With Openda, I have been involved in projects as diverse as API integration, end-customer documentation, bug-fixing and testing, database optimisation, virtualisation, server and server-room setup, customer site-wide backup strategies, mobile app development and much more.
Specialising in barcode and handheld solutions, they provided solutions to many ferry services and water taxis
Whilst there, I developed many small inventory solutions for lot-tracable companies with low-volume products, as well as supporting existing mobile units, contacting repair centres and flashing custom-developed firmware.
Data Structures and Algorithms, from the HND Computing course.
Modules included Software Engineering, Mathematical Statistics, Algorithm Theory, Computer Architecture and History, Computer Networks, and group projects.
Completed subjects in Computing, Maths and Physics
Obtained qualifications in Computing, English (Literature and Language), Maths, Science (Single and Double), Geography, Electronics, Design and Communication and French.
Upon joining RED Technology, I took the lead on configuring a test cluster as POC, and developed a process for converting internal custom-built projects into container images, which allowed the company to move and manage infrastructure on a HA Kubernetes cluster.
This was a precursor to moving customer hosting from monolithic Windows environments, to a more flexible, dynamic, hardware-agnostic HA environment.
Skills/Tools/Technologies
- CKA, Kubernetes, Docker, source control,
When I purhcased by previous car, I wanted to listen to my podcasts on long journeys and commutes, so that need took me down a rabbit hole that ended up with my installing a Raspberry Pi into my car complete with touchscreen to run Android Auto.
You can see my writeup here.
Skills/Tools/Technologies
- Electronics, imaging, Github
[https://bitbucket.org/kolon/my-pi-projects/src/master/raspi-clock-radio/acr-atomic.py]
As part of my alarm clock project, I managed to decode the NPL's MSF atomic clock signals to get accurate date and time. I disassembled a working digital clock to extract the receiver antenna, and used general GPIO on a Raspberry Pi to extrapolate the MSF signals.
Skills/Tools/Technologies
- Python, StackExchange, Wikipedia
[https://bitbucket.org/kolon/my-pi-projects/src/master/raspi-clock-radio/acr.py]
Whilst it has been possible to use threads in Pyhton for some time, there is no method described for launching a custom thread after execution has started.
I spent a lot of time researching the treading architechture of python and produced code for my alarm clock project that defines dynamic threads, checking if a thread is running, and launches new threads when one is missing.
Skills/Tools/Technologies
- Python, Python manual, Stackexchange
As part of development for Openda's QX business system, I managed to work around Magento's very poor API to export products, attributes, prices, and stock quantities, and import orders, payments and carrier tracking information.
There were numerous issues to overcome during development, including bugs in the Magento core code (which were reported to the Magento team), mismatched APIs, and very little documentation.
Skills/Tools/Technologies
Openedge, PHP, Postman, curl, json
A customer required a private cloud-like environment for live production websites and bespoke backend processing, as well as the associated development environments. This involved the setup of three large servers, installing and configuring VMWare VSAN, load- and failure-testing the setup, before migrating the existing systems from the old hardware.
Part of the process was researching datacentres to host the platform, employing monitoring tools, configuring redundant network feeds, analysing data throughput and altering DNS records.
Skills/Tools/Technologies
VMWare ESX, VMWare VSAN, scripting, 10Gbit SFP cabling, switch stacking, VLAN, DNS, linux
[https://hub.docker.com/r/kolonuk/get_iplayer]
Although I don't have a TV licence, I actively maintain an auto-updating Docker image that has over 100k pulls which helps make the use of get_iplayer much easier and with almost zero configuration needed.
Skills/Tools/Technologies
Bash script, dockerfile, linux, API