Large scale puppet infrastructure deployment and administration, module development, testing and continuous integration.
20+ years experience running Linux systems including Gentoo/Sabayon and RHEL.
Experience writing large and small python applications
Principal author of multiple large (internal) django applications
Built and maintain HPC clusters (compute and GPU)
A Linux systems administrator based in the South East of England, with a focus on automation.
- Managing Unix, Linux and Windows systems, networking and datacentre deployment
- Build and maintain HPC (SLURM)
- Containerisation and scheduling (Nomad, Consul, Vault, Terraform, Podman)
- Maintaining and operating backup systems (on the order of 100s TB/year)
- IT Support (first/second/third line)
- On-call rotation
- Design and implementation of network solutions for Atos customers in the Transport and Financial Services industries.
- Lead planner for all physical aspects of 5-datacentre core infrastructure upgrade including WAN circuit delivery, rack and equipment placement, power & network connectivity, build validation, and logistics management for ~3000 items of hardware.
- Designed, built and operated a large development lab for validation of a large-scale internal project, containing:
- ~70 mixed-vendor devices across 8 fully populated, full-sized racks
- 500 copper & fibre connections
- >2.5km of network cabling
- Installation, configuration and maintenance of an out of band management service for remote console access to hundreds of core infrastructure devices across multiple datacentres and unmanned sites.
- On-call proximity support, providing out-of-hours coverage for any incidents requiring a hands-on activity at the local data centre.
- Penetration testing of web applications and hardware devices for large financial institutions.
- Development of a perl/sql based data mining survey.
- Take-downs of phishing sites (via legal channels), and other anti-phishing related activities.
- Windows Server/Active Directory/Exchange administration (including migrations to newer hardware/operating system versions).
- Maintained and extended an existing internal web application using PHP and Perl.
- Installion and configuration of a streaming video-on-demand server on Red Hat Linux, with embedded Linux clients running on set-top boxes.
- Working in the University’s Computer Science Helpdesk on an ad-hoc basis, performing day-to-day tasks to help the full-time System Administrators. This included repairing and reinstalling the operating systems on lab PCs.
[table terminator="|"]
Certification,Vendor,Date |
Consul Associate, HashiCorp, July 2021 |
CCNA,Cisco,Feb 2010 – Feb 2013
[/table]
[table colwidth="70% | 20% | 10%" terminator="|"] Subject,Level,Grade | Computer Science with Distributed Systems and Networking”,MEng,First Class [/table]
[table colwidth="70% | 20% | 10%" terminator="|"] Subject,Level,Grade | Mathematics,A-Level,A | Physics,A-Level,A | Computing,A-Level,A | Further Mathematics,AS-Level,B [/table]
Experience with:
- Installation, configuration and operation of Operating Systems (Linux, Windows)
- Writing and maintaining Linux software packages and package repositories (Gentoo Portage, Sabayon Entropy, RPM)
- System automation
- Puppet (including type and provider development)
- MCollective/Choria (including plugin development)
- Unattended installation (Kickstart)
- Virtualisation (KVM, libvirt, VMWare/ESX)
- Monitoring (Nagios, xymon)
- Backup systems (Bacula)
- Messaging (RabbitMQ)
- Storage (ZFS, NetApp, Pure, Fujitsu Eternus disk and tape)
- Hashicorp Stack (consul, vault, nomad, terraform, packer, including enterprise versions)
- HPC (SLURM)
- AWS
Brief experience with Active Directory, Group Policy and Exchange administration on Windows-based systems and integration with Linux systems via LDAP.
Experience with:
- Routing and Switching (Cisco IOS/Nexus, Arista, Brocade, Mikrotik)
- Firewalling (Cisco ASA, Linux iptables)
- VPNs (Juniper, OpenVPN, Mikrotik)
- Dynamic Routing (OSPF, BGP) and IPv4 Multicast
Experience configuring and operating network services, including:
- DHCP (ISC)
- Resilient DNS (BIND)
- Resilient LDAP (OpenLDAP, Active Directory)
- HTTP (Apache, IIS)
- SSL CA (OpenSSL)
- Logging (Syslog, Splunk)
- RSA Authentication Manager
Proficient at creating standards-compliant, cross-browser (X)HTML documents, with CSS styling, and dynamic JavaScript behaviour. Many years’ experience creating both simple and complex dynamic systems using PHP. Emphasis on writing secure code. More recently, experience with Python and Django.
A polyglot; I can read and write most languages to a basic degree. The ones I use regularly change based on current requirements. Presently I find myself working mostly with Python, Ruby and Bash shell scripting and the occasional Golang. I have previous experience with PERL and C/C++ with Qt
Experienced with SQL, including database normalisation. Installation and operation of MySQL DBMS, basic operation of MSSQL.
Experience with:
- IDEs (PyCharm, KDevelop, Eclipse SDK, Microsoft Visual Studio/VSCode)
- UNIX build environments (Vim, gcc/g++, make)
- Testing frameworks (Rspec, python unittest)
- Version Control systems (Git, GitHub, GitLab, BitBucket, Subversion)
- Continuous Integration/Delivery (Jenkins, Gitlab-CI, Travis)
Experience with:
- Data centre architecture
- Physical equipment installation and maintenance
- Brownfield project migrations
I am a supporter of the opensource movement, and try to use free/libre software and code where I can. I also release all my code under free licenses where possible in the hope that they might be useful to others. I enjoy developing many small systems for both personal and educational use. Aside from the projects listed on my personal website, in the past I have also written a web-based remote control for WinAMP, and “audio emoticon” software for use with MSN Messenger, which was downloaded more than a million times. At University I was in a group named “CSLib” (Computer Science Library), which maintained a centralised software repository for other students in the department. This involved building and maintaining software, often compiled from source. It also involves managing a Windows 2003 Terminal Server for remote use by other students. My third year individual project was to design and implement a cross platform document sharing system which featured zero-configuration peer discovery, and password-less, decentralised authentication whilst maintaining privacy and security.
- Sabayon Linux developer
- Puppet modules
- GitHub activity
- IRC support for open-source projects on FreeNode: #bacula, #sabayon