cv

For my fullest and most complete version of this CV – see my extended CV.

Alister Bulman

An experienced PHP DEVELOPER and system administrator with more than 10 years experience developing database backed website applications and for SME and blue-chip clients using technology such as (X)HTML and CSS on the LAMP (Linux / Apache / MySQL / PHP) platform for back-end web applications and dynamic websites. See example URLs.

I’ve been programming since 1981 at school, with machines/languages as diverse as ZX81 Basic, Z80a assembler, BBC Basic/6502, Pascal (MS & Turbo), C (learnt from the original K&R book) and some Perl. I’ve been programming – and getting paid for it – since 1987 in companies that did everything from BIOSes to county-wide library systems. In 1996, I started developing websites, and it was a natural move as a programmer to move into some Perl and mostly PHP (then still at version 3) for more complex, database backed websites.

Since 2007, I’ve had a particular interest in scaling websites up to ever larger numbers of people online. This requires a multi-disciplinary approach in website architecture, databases and the servers/software to be able to handle hundreds (or more) of simultaneous users while still performing all the relevant tasks that a busy website needs to happen in the background.

  • PHP, 10 years

  • MySQL (v4.x, 5.0), 10 years

  • Apache v1.3 & v2+, 10 years

  • Linux, RHEL, Ubuntu et al, 12 years

  • DNS (djbdns DNS server), 8 years, internally and as a 3rd nameserver

  • Version control, 5 years. SVN, Git

  • Javascript (inc YUI & Jquery), including the ‘behaviour layer’

  • ZCE, Zend Certified Engineer

Professional Interests

  • Website and PHP/Database development
  • Administration of Linux servers
  • I read a large number of technically based blogs and to stay up to date with the latest advances in scaling, development techniques and software.
  • Best practices in web-based software development methodologies

    • Version control & Bug Tracking (eg SVN/GIT & Trac)

    • MVC frameworks (such as Zend Framework) and templates (eg Smarty)

    • Unit Testing (PHPunit & Simpletest)

I’ve also been getting increasingly interested in technologies such as Ajax (with Jquery) and Message Queuing, with technologies such as BeanstalkD, for optimisation and decentralisation/scaling.

Professional Experience

Feb 2007-May 2009  Home-based System Administrator & Sole developer for a dating website

  • Working from home 19+ days a month for 2¼ years

  • Scaled site from 75,000 users to 300,000 in 2 years and 75 concurrent users online to 400+ while simultaneously reducing server loads using such techniques as caching of data to memory (APC) & MemcacheD

  • Implemented an queue-based system for further scaling (BeanstalkD)

  • Rewrote back-end administration system in Zend Framework with AJAX support to allow easy site administration (profile approval) and site statistics (turnover, members online, etc)

  • New front-end functionality in Zend Framework (and some JS/jQuery)

2006-2007 Mobile/SMS entertainment Buckinghamshire

System Administrator / Developer

  • Installation of version control systems for best-practice development
  • Putting in place a development environment to scale from an initial two developers to a current 9
  • Installing and maintaining multiple local and remote web servers and MySQL servers with replication to two slaves