Key Skills

Programming, PHP, (Other languages used in the past: Golang, Perl, C, Objective C), Symfony PHP Framework, Linux, AWS, Terraform, Docker, Network Security, Internet Technologies, Databases, Web development.

Experience

Senior Backend DeveloperRemote
January 2021 - Present Day | Save Water Save Money
Save Water Save Money is a company setup in 2007 to help consumers save water. They have distributed millions of water saving devices to UK households as well as educating people in water use reduction.
  • Primary responsibility in this role was to architect, design and implement API's for a number of websites across the UK, Australia and USA, working with other developers and the business to identify current and future needs. These sites were built using a micro-services architecture based on PHP 8, Symfony 6, Doctrine/MySQL and Nginx (with a React front end). All services were delivered as docker based images to be run on AWS ECS. Ensured code quality by writing functional and unit tests (Phpunit).
  • Modernised existing microservices by upgrading from Symfony 5 to 6. Optimised code quality with phpstan and phpcs. Improved performance and fixed configuration issues preventing service outages.
  • Led the design and provisioning of the hosted systems required for the company sites using Amazon AWS. Sites were built as a fully redundant systems using AWS ECS container hosting and ALB load balancer front ends. Databasing was provided by AWS RDS MySQL instances and DocumentDB (Mongo compatible databasing). Worked with a range of other AWS services including EC2, S3/CloudFront, Route53, OpenSearch, ECR and IAM.
  • Created Terraform configurations for all AWS infrastructure as a fully configurable and repeatable infrastructure as code deployments.
  • Installed and configured Jenkins CI/CD pipeline to run testing and build of multi architecture docker images.
  • Created a centralised translation database and support tools to manage localisation. Worked with translators to export and import new translations.
  • Setup and configured Prometheus and Grafana monitoring of micro service infrastructure.
Developer and Systems AdministratorLondon
February 2007 - January 2021 | Tuimedia Ltd
Tuimedia is a digital design agency specialising in user centric website design and implementation.
  • Implementation of website API's using PHP/Symfony 4/MySQL/Linux for a variety of customers from education through to FTSE 100 companies. Site API's were delivered as monolithic services with Vue.js frontends packaged as Docker images.
  • Provisioning and management of hosted systems using Amazon AWS to support client sites. AWS services used included EC2, RDS and ALB load balancing to provide redundant hosting.
  • Providing systems consulting to clients requiring new web hosting environments.
  • Responsible for all of Tuimedia's Unix server, network systems and phones. Liaising with I.T. suppliers.
  • Previous work included: Development of native iPhone/iPad applications using the Apple Xcode environment (including coding of one of the initial demo apps used by Apple in the Apple store for iPad), Augmented Reality work using Unity.
Web Systems DeveloperLondon
April 2006 - October 2006 | School of Oriental and African Studies
  • Responsible for the installation and setup of live and development web servers and content management servers running Percussion Rhythymyx CMS, Oracle and Redhat Enterprise Server OS.
  • Developed Perl scripts to extract and clean HTML from existing CMS system ready for transfer to the new CMS.
  • As part of the new web systems build, installed and configured a network monitoring system using Nagios software.
  • Developed a new phone and email directory database to support web based directory lookup.
Freelance I.T. ConsultantLondon
November 2002 - April 2006

Working as a freelance consultant specialising in Unix/Linux, networking, programming. Clients included:


School of Oriental and African Studies
  • Setup and configuration of a Shibboleth server and integration with the existing intranet single sign on system.
  • Responsible for the specification, design and implementation of the Schools intranet system. This encompasses projects such as help desk support, internal directories and image databases. Development has been on Linux using Apache/mod_perl/PHP.
  • Continued development of the network management database, a system that allows the network team to manage DHCP and CISCO vlan membership on the colleges network through a password protected web form for staff and a self registration web form for students.
Southampton City Council
  • Designed and created MySQL database and PHP pages for import, search and display of Lloyd's ships register data.
National Children's Bureau
  • Installation and setup of a Linux server for the Young TransNet project.
Network and Systems Manager, DeveloperLondon
June 2000 - October 2002 | Bibliotech Ltd
  • Development. Part of the technical team developing the SchoolMaster community site using Perl/mod_perl. Responsible for design and implementation of a customised email system using the Exim mail relay agent.
  • Systems. Lead systems developer responsible for a number of projects including SchoolMaster filtered email, systems monitoring and statistics presentation.
  • Office Network. Responsible for the site network and the firewall. Implemented a remote access solution using an OpenBSD firewall to give secure office networking and IPSEC based VPN services.
Network Operations ManagerLondon
2000 - 2001 | Bibliotech Ltd
  • Network. Responsible for the design and maintenance of the production network. Built using Cisco and Alteon equipment to provide a redundant load balanced service.
  • Systems. Working as a member of the systems team designing and maintaining the production servers. Using software such as Sendmail, Exim, Apache and Bind running on Linux. Liaised with Research and Development in order to ensure timely and safe code roll outs.
  • Development. Responsible for design and development of the company's web hosting service. This was implemented using Apache with Perl CGI scripts and a Postgres database.
Network ConsultantLondon
1998 - 2000 | Imperial College Computer Centre
  • Network Support. Responsible for the design, installation and maintenance of the core Imperial College network (5000+ hosts), remote Medical School sites and associated WAN links, Email provision, DNS and monitoring services. Working with Help Desks and other organisations to maintain and develop academic networks within London.
  • TCP/IP. Imperial College core network. This required skills including Gigabit Ethernet; FDDI; ATM systems (Fore and 3Com); WAN links; Layer 2 switching; routing; Layer 4 switching; Cisco Routers including use of Cisco IOS software; 3Com routers and switches; RIP; OSPF; BGP; Firewalls (Checkpoint Firewall 1).
  • Network Services. Installing and maintaining email systems (primarily Exim MTA), DNS (BIND V4,8), FTP and Web services (servers and caches).
  • Unix skills. Installation and maintenance of Sun Solaris and Linux systems.
Database Developer and PC AnalystLondon
1996 - 1998 | Imperial College Computer Centre
  • Database development. Responsible for developing a replacement for the College User Registration system. .
  • Windows NT. Installed and maintained NT server systems including a Citrix Winframe server.
  • Application support. Installation and support of commercial and freeware PC and Unix applications.
  • Programming. Development work undertaken with C, Java, Awk, Perl and Unix shell. Experience with C++ and Fortran.

Education

1992 - 1996 Imperial CollegeLondon
  • M.Eng Aeronautical Engineering
  • Final Year Degree Project: 3 Dimensional interface to departmental Finite Element code. Developed using X Windows API interfaced to Fortran FE code. 3 dimensional display realised through use of LCD shutter glasses on an SGI workstation.
1985 - 1992 Clitheroe Royal Grammar SchoolClitheroe, Lancashire
  • 4 A Levels, 10 G.C.S.E's.

Training

  • Database Design and Implementation with Microsoft SQL Server (1996)
  • OSPF and BGP Routing with Cisco Routers (1998)
  • 3Com Introduction to ATM (1998)

Other

  • Clean U.K. driving licence.