SysAdmin
- Linux
- Virtualisation
- Apache / Nginx
- MySQL / MongoDB
Back End
- PHP
- Perl
- REST
- Ecommerce
Front End
- HTML
- CSS
- htmx
- Alpine
- Javascript
- Photoshop
Professional experience
Freelance
Clients from UK, Europe, USA
Barcelona
2005-10 – present
Since I made the move to be completely freelance, I’ve worked with clients from USA, UK, Spain and other countries. The services I’ve provided have included everything from system administration to design.
Front-end development has involved everything from templating systems for my own applications, to working alongside Ruby and Java developers remotely. I’ll sometimes use a framework like Bootstrap, sometimes writing or customising the theme, but mostly I prefer to keep the client-side as light as possible.
I’ve designed web applications using various PHP frameworks. Most current work is based on the Fat-Free Framework, which I find is a very nice balance between leaving design decisions up to the developer and providing a sufficiently useful base to work from. Some of these applications are based on communicating with multiple APIs. Some of the applications I’ve developed or worked on are themselves REST APIs.
In addition to PHP applications, I’ve developed AngularJS applications for smooth content management. Other JavaScript work involves using build setups and dependency management systems including Bower, Grunt, npm, Yarn and Webpack. With respect to build systems, I’ve settled on using the backend to build both the CSS and Javascript with server-side caching to reduce the load and speed. This removes any compilation from the development environment.
On the server-side, I extensively use bash or Perl scripts to automate tasks or transform incoming data, whether it’s XML, JSON, CSV, or to consume remote APIs to populate databases. Usually I work with MongoDB for most of my database needs. I have plenty of experience with MySQL (and MariaDB), but usually work with it only in existing or legacy applications. This might be utilities I created before I began using Mongo, or 3rd-party or open source applications like Wordpress, which I have installed and managed for clients on various occasions (although the latter is best managed with wp-cli.)
More recently I’ve started building utilities in Go as well as porting some of the existing utils in the library, mainly for performance purposes. I’m also in the process of rebuilding a couple of main internal ReST APIs in Go, again largely for performance reasons.
Up until relatively recently many of the servers I’ve worked with were dedicated machines with virtualisation – Proxmox or VMWare – to allow for addition and customisation of hosts for specific tasks.
In the last couple of years, however, I’ve increasingly moved to working with cloud providers for even more agility and flexibility, and generally all new projects are built on cloud instances.
Obviously, it goes without saying, I think, that I work constantly with Git for version control. I switched over from Subversion around 2009.
VP Technology
Polyphonic HMI
Sant Cugat
2002-10 – 2003-10
Polyphonic created algorithms for music analysis and classification. Based on artificial intelligence, commonalities in music are recognised from a spread of parameters, which was then used for various tasks, such as playlist creation. Another application of the technology was to assist in prediction of possible commercial success of new music.
Technical Director
Yahecho
Barcelona
2001-08 – 2002-10
I set up Yahecho with a colleague as an outsourcing company and web consultancy.
Technical Team Leader
Good Technology
Barcelona
1999-10 – 2001-08
I was asked to set up a branch of Good Technology in Barcelona, to better service their client Chupa Chups as well as explore new business locally.
Technical Manager
iCrunch.com
London
1999-07 – 1999-10
iCrunch (starting as crunch.co.uk) was the first online shop for MP3 music in Europe. My role was to get the site running, listing the inventory and linking up the ecommerce.
Telematics Consultant
WS Atkins
Manchester
1998-10 – 1999-07
My tasks at WS Atkins included anything related to internet, such as setting up and running Apache hosts.
Programmer
AutoTrader
Warrington
1998-08 – 1998-10
I worked with AutoTrader on contract to bring Perl and Linux experience - their team was exclusively Windows-based at the time. Much of my work here was creating "glue" scripts to transform data and link up different systems.
Technical Director
Doctor Net
Manchester
1997-07 – 1998-08
I joined Doctor Net as the company was launched with the task of dealing with all production aspects.
Web Designer
Good Technology
London
1996-07 – 1997-07
I started at Good Technology in Ladbroke Grove working with large clients like Mini, EMI and other brands. My main task was front-end development and design. At the time, of course, front-end development mostly was design!
Web Builder
The British Council
Manchester
1996-06 – 1996-07
I had previously worked at the British Council in various temporary work contracts. When the Manchester office was put in charge of setting up the worldwide online presence, I was contacted to help them with the web building part of this task. In the process I assisted with the configuration of the on-premises web server, a Sun box with the then-new Apache HTTPd 1.0.
Academic experience
Video, Imaging and Communication Technology
Salford University
1993-10 – 1996-06
This degree course was started in 1993 to provide a grounding in the emerging area of virtual reality. Subjects of study included both the hardware and the software involved in VR, telepresence, augmented reality and more. This was also when I first had hands-on experience of Unix and C.
Professional Audio Systems
Salford University
1989-09 – 1991-06
This National Diploma course was based heavily around studio recording, along with a deeper look at everything from the electronics of audio systems to acoustics theory. Alongside the audio and music, video production was included.