Curriculum Vitae for Andrew Holland

Personal details

Location: Manchester, United Kingdom
Current: Senior web developer @ Phantom Ltd


I am a motivated, hard-working, self-starter with a passion for computing and web technology - programming in particular. Since the age of 14, I have spent a vast amount of my spare time developing programming skills as a keen hobbyist. I have 3 years commercial experience working for three web agencies (Cirrus Connect, Custard Media Solutions & Kudos Web Solutions) and a commercial and leisure vehicle tracking company (Phantom Ltd.).

In 2012 I attended the PHPNW conference as an event co-ordinater, all attendees received a 50% off voucher for the Zend Certification Exams, a short time later I completed the Zend PHP 5.3 certification to become a Zend PHP 5.3 Certified Engineer.

Skills & expertise

Operating systems
Source control


Cirrus Connect (web developer) April 2013 - Present

Cirrus Connect are leadership and brand engagement specialists based in Wilmslow, Cheshire. I was employed by Cirrus after Custard Media Solutions (my previous employer) went into liquidation. Cirrus were a key client for both Custard Media Solutions and Kudos Web Solutions, they employed me (along with other developers from Custard/Kudos) to continue the work they would previously outsource.

My duties at Cirrus Connect include; installing, deploying and maintaining project management software (Redmine), developing bespoke web applications in Ruby on Rails, PHP, HTML, Slim, Javascript, jQuery, CSS and SASS.

Custard Media Solutions (web developer) February 2013 - April 2013

Custard Media Solutions were a full-service web agency based in Horwich, Bolton. I was employed by Custard as a result of a merger between the aforementioned and my previous employer (Kudos Web Solutions).

My responsibilities as a web developer at Custard included; developing bespoke web applications in Ruby on Rails, PHP (Yii framework), HTML, Slim, Javascript, jQuery, CSS and SASS, developing plugins for CubeCart (an open-source PHP e-commerce platform), maintaining/updating existing customers websites, and server configuration when necessary.

I worked with a team of 4 back-end developers and 4 front-end developers/web designers, so communication was key.

Kudos Web Solutions (junior web developer) September 2012 - February 2013

Kudos Web Solutions was a small web design/development agency based in Manchester City Centre.

My duties at Kudos included developing bespoke web applications in PHP (Yii framework), HTML, CSS, Javascript and jQuery. I also learnt Ruby/Ruby on Rails, Slim, SASS, CoffeeScript and SVN on the job and grew comfortable with them quite quickly.

Phantom Ltd (junior web developer) May 2011 - October 2012

Phantom Ltd is a commercial and leisure vehicle tracking company based in Stockport

At Phantom the web development team consisted of myself, the technical director and graphic designer. In my time at Phantom I developed a bespoke CRM system, it featured an AJAX-rich UI, data-visualisation (using Google chart tools), a contractor-dispatch management system using Google maps API V3 and the Haversine formula to calculate the closest contractors to the job. I also developed a CSV-SMS integration for the FA and a web-based fleet-vehicle tracking system. In addition to this I developed a tracking unit emulator using Node.js and the Google maps directions service.

Wren Properties (Labourer) July 2010 - May 2011

My responsibilities in this role included assisting the plumbers, joiner, plasterer and foreman to ensure their jobs were completed efficiently; plying floors, levelling floorboards, hanging radiators and cleaning. Although this work is not linked to IT, I feel that I gained many valuable skills such as teamwork, communication and a good attitude towards work.


Zenos IT Academy 2009-2010
Tameside College 2007-2009
Hartshead Sports College 2002-2007
Back to top

Rails router in PHP

This is part of a project I started working on to pass the time, the goal was to see how close to a Rails clone I could get in PHP.

Hosted on Github

Validation in PHP

Again, this was a project to pass time, the intention here was to create an easy-to-use attribute validator that gives the user the option to validate in the controller (leaving no coupling for data-validation in the model), or validate in the model with a small code footprint.

Hosted on Github


This is a gem I published recently for building dependencies in Rails when using ActiveResource.

Hosted on Github and Rubygems


Policy is a jquery plugin I wrote for selecting elements by their data attributes. It supports adding your own custom policies, passing a callback which should return a boolean to evaluate whether the element should be added to the result set. I also used this plugin recently for selecting elements by attributes by changing data to attr in the addOperator function. Click here to see an example of how to implement this plugin.

Replicated PDO

ReplicatedPDO is a wrapper around PDO; intended to encapsulate read/write splitting for database replication with zero impact on the classes' interface - this means it should have very little impact on an existing application already leveraging PDO to make use of read/write replication using this class.

The class inherits from the DistributedPDO class, which can be used independently of ReplicatedPDO to distribute queries to different connections. The distribution of queries is completely configurable in both classes and can be modified by passing a callback to the setDeterminator method.

Back to top