Large scale puppet infrastructure deployment and administration, module development, testing and continuous integration.
15+ 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
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
- Automation and monitoring
- Containerisation and scheduling
- 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.
|CCNA||Cisco||Feb 2010 – Feb 2013|
|Computer Sciencewith Distributed Systems and Networking"||MEng||First Class|
- 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, Fujitsu Eternus disk and tape)
- Hashicorp Stack (consul, vault, nomad, terraform, packer, including enterprise versions)
Brief experience with Active Directory, Group Policy and Exchange administration on Windows-based systems and integration with Linux systems via LDAP.
- 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
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. 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.
- IDEs (PyCharm, KDevelop, Eclipse SDK, Microsoft Visual Studio)
- UNIX build environments (Vim, gcc/g++, make)
- Testing frameworks (Rspec, python unittest)
- Version Control systems (Git, GitHub, GitLab, BitBucket Server, Subversion)
- Continuous Integration/Delivery (Jenkins, Gitlab-CI, Travis)
- 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.