tldr; I enjoy programming and working in vibrant, energetic teams.
I started in computer systems management as a systems operator. I enjoyed learning and started writing scripts to automate many of the processes routinely performed in my day to day duties. This was the beginning of my interest in programming. I studied C using the eponymous classic K&R book and many online resources. Since those early stages, I have continued to research areas that draw my attention and have picked up other languages such as Python, Java and most recently Go and Rust.
In the last few years I have been enjoying working in projects primarily in distributed, cloud based systems and my diverse experiences across many business sectors have helped shape my solutions. Another key lesson has been the value of the team around me. I enjoy learning new approaches and helping others where I can. I have learned to take criticism well since I recognise this is the best way for me to improve the quality of my work.
Technologies I have experience with
- TLS / SSL
- Symmetric and Asymmetric key based encryption
- Istio / Envoy
- Marathon / Mesos
- Google Cloud / AWS
- Prometheus / Opentelemetry / Sentry
- Kafka / PubSub / RabbitMQ
- Version control (Github / Gitlab / Bitbucket)
- Various web frameworks (Actix, Warp, Iron, Chi, Go-Kit, gRPC etc)
- PivotalTracker / YouTrack / Jira
April 2021 - present
Building out back end systems required to provide financial products for customers looking to invest and use digital currencies.
- Event driven
February 2019 - March 2021
Building and maintaining systems to find and monitor illegal content on the internet for film and streaming media clients. This has included creating a moderation pipeline using a probabilistic data classifier.
May 2017 - January 2019
I worked in a team managing the systems handling the firewall configuration for customers. This involved migrating system functions and data from a monolith PHP system into Go micro services. I also enjoyed the opportunity to get involved in other projects and teams when I could.
November 2015 - January 2017
I joined as a founder and designed and built the micro service based system required to enable zero knowledge encryption based sharing of data. This involved both backend work in Go and also the creation of a mobile app client in Objective-C.
- Asymmetric Cryptography
January 2014 - November 2015
I worked on creating an API based service to provide access from a Django web application to data stored in ElasticSearch. The data stored was music information provided by the rights holders to be licensed through the web application. Part of this system also performed a music similarity match using a C++ library that I accessed via FFI in Go using Swig.
Break from IT
December 2009 - December 2013
I took some time travelling and running my own beekeeping business for a few years after putting so much effort into Nakedwines.
September 2008 - November 2009
I joined as a founder and helped launch the site. As with a lot of start up environments, this was full speed with the aim to launch for Christmas which is the busiest period of the year for wine companies. This required an all hands approach and I enjoyed pushing myself as part of the team making it possible.
June 2006 - March 2007 (Contract)
General KSOR covering support and development of systems within the Midrange (Unix) team.
The One Account (Royal Bank of Scotland)
2005 - 2006 (Contract)
Managing and improving the robotic tape backup system for the Unix server environment. This involved writing a custom C library to enable the Veritas NetBackup software to select tapes in a time based rotation.
March 2002 - March 2005
I started in the Midrange operations team as a junior and progressed through to the 3rd line support and development team.
May 1999 - February 2002
I worked in a team responsible for managing and expanding the AS/400 and MPE/iX systems that ran the manufacturing systems.
January 1997 - April 1999
I worked as senior administrator managing the AS400, MPE/iX and NT4 systems.
January 1995 - February 1997
My first role in Information systems working as an AS400 Operator. This involved performing the scheduled, routine tasks required to run the business.