An annotated and potted career history - a slightly more organised version is on my Downloadable CV which I will upload one day.
1997 - Early years, and Lead Developer / IT Manager for Delerium Music LTD.
Started work for Delerium Mailorder limited doing a variety of jobs including taking orders over phone and email, packing orders etc. before moving into more interesting things which turned into a career. Starting in graphics and layouts for catalogues and album covers, I quickly moved into programming when I saw the opportunity to make a good web site for the company. Before long I was solely on web development in HTML4. I spent 6 months making web sites for the label and bands on it, before looking into the e-commerce side of things with Perl.
Soonafter I built a completely custom perl back end for the company's e-commerce site. The early version used text files for customers, products and orders - not MySQL databases! MySQL was introduced in 2000.
The fully MySQL'd version went live in 2000, and was integrated with the in-house MS Access database. I later inherited full development and maintenence of the Access DB too which ran the record label, mailorder and distribution sides of the business, together with customised reporting and calculations (eg. Royalty calculations for the label based on sales, etc).
Built several systems from scratch including order import from the web to MS Access screens, and full order tracking emailing customers on the status of their order, delayed items, etc etc. Later, full stock control, automated stock ordering based on supplier minimum units and ordering frequency tables, etc.
Many mailorder products where ordered in specially for the customer, and customers would often order tens of items at a time, comprising of items in stock, on-order (with estimated delivery time), pre-order, back order, etc. Complex calculations were used to split these orders into multiple packages dependent on timings when items would (hopefully) come into stock, and calculate shipping charges on these multiple pacjages by a number of services in order to find the cheapest methods.
Despite taking on other jobs I was actually working here up until 2007 when the company closed, and continued to work on the company web site and Access database.
2000 Lead Programmer for Orbix International
2002 Web developer and assistant manager for Second Wave Promotions / Brainwave Festivals
Developing sites for bands and festivals, including Canterbury Fayre 2002 and 2003 with online ticket ordering, etc. As an interesting side line I also worked at these festivals on the management team - which involved getting no sleep for 5 days each year. I also put together a team each year and ran the box office dealing with money, guest lists and passes, and the odd irate artist you've probably heard of who didn't send his guest list in and threatened to not play if we didn't let in anyone who mentioned his name for free, etc, etc. (Robert Plant on the other hand was a fantastic sport who genuinely laughed when one of my box office employees accused him of 'still pulling off that old singing racket', and I still have his iron and ironing board from his rider, which to this day have never ironed anything but his shirt for that gig. I didn't iron it, he had a team to do that for him).
2005 - Perl programmer for Mobile Streams PLC.
I finally get to to some wild and crazy things with Perl. Cracking apart and modifying binary files at bit level for example - I finally got to use pack and unpack a lot together with bitwise operators. Specifically this was regarding reading and setting the loop count of gifs - about ten thousand of them in fact hence the need to write a program. There was also a lot of work converting audio and video files on the command line using things like ffmpeg, sox and some windows only software which we had to send to and retrieve from another server. For a while I ran a department taking single images, gifs and audio/video files and converting them to huge numbers of formats for every type of mobile phone in existence and a continually increasing number of new formats.
2006 - Various agency contracts
Front and back end development for a number of agencies including Big Fish (Chelsea) and Impact Generator (Northampton). First exposure to PHP 5 which I
blagged by the seat of my pants learned one weekend and followed up over the course of the next year. (I had previously covered the pointless attempted perl-rewrite and security black hole known as PHP 3 however - or Perl for HiPsters 3 - it certainly wasn't for programmers and until version 5 I refused to touch it.. see my rant balanced and thought out discussion on the subject here if you wnat to know more..)
2007 - Lead developer / Senior architect for Paragon Digital
I'd got bored of being a programmer and a developer, and fancied being an architect, so I formed my own company and gave myself the title. This was an agency, spitting out e-commerce web sites as fast as we could, integrating them with fulfillment warehouses, accounting software and anything else people wanted.
The company's main software was a custom PHP framework / e-commerce system (all my own) with a complete customer back end, running in a multi window environment using Mootools because I thought it was better then Jquery. Then Jquery got popular after I'd done loads of work on it and nobody else wanted to touch it, which was a shame because it was brilliant.
2012 - Lead developer for ManBuysPresent.com
Massive use of jQuery for animation, interacting with the back end.
Facebook app integration which I built from scratch - load in your friends and their birthdays from here, and get birthday gift suggestions for them. This was all run in a custom built multiple pop-up window interface, displaying 'contact cards' for your friends which you'd imported.
Complex algorithms for displaying gifts, using a mixture of product rotation, supplier rotation, promoted products, product score, category rotation, product availability given a customer-selected delivery window and whether or not the supplier was on holiday and would they be back in time etc etc, how often the product was viewed and more. This resulted in a 30 line SQL statement with further processing. This was not simple 'order by' stuff, it was rotations within rotations within algorithms within more rotations etc etc.
The deadline was hit, but sadly the company was to fold in the next year.
2013 - Lead developer / team leader for goHenry LTD
Took a banking app from the third party software house who developed it, hired a team and brought it all in house. goHenry was one of the best ideas in the history of good ideas for the internet, as it was about teaching children the value of money. Whether you love it or think it's the root of all evil everyone needs to learn about it. Child cards with parental controls and real time spending alerts is an excellent way to do it.
- SPA using a custom framework using .ejs templates, which I inherited and rewrote.
- Fully service based architecture using the principles of REST
- Zend 1.1 back end
- PHP Unit for back end testing
- Wordpress customisation - integration with our databases for the marketing site - this went well beyond wordpress plugins
- Responsive front end using LESS and media queries
The company grew from a few thousand subscribers to tens of thousands whilst I was there, resulting in many changes having to be made in the name of scalability. Last I heard was they're in the hundreds of thousands. Miss it massively but not the insane commute after they moved to the other side of London from me (personal record - 5.5 hours in one day).
2015 - Lead developer for Portcullis Internet Security LTD (A Cisco company)
Cyber-security and penetration testing company, so focussed on trying to break web sites rather than build them. I could tell you more about it, but I'd have to...
2016 - Developer for Blue Coat Systems Inc. (Acquired by Symantec)
www.bluecoat.com / www.symantec.com