I'm a developer by background and by preference, but as you can see, I do a number of different things. I teach, write and offer editing services in between the more technical work I do, and if you've got something interesting you think I could help with, then I'd love to hear from you.

Senior Developer

My background is in development and this is still where my heart lies. With extensive experience of the LAMP stack, I genuinely enjoy working with teams and striving to help them reach their goal. I'm comfortable as a developer, team lead or coach, and am used to working both on site and remotely. If you need a super-technical expert with great communication skills who can grow your existing team's skills around you, then you're in the right place.

API Design

I have extensive experience of working with APIs, both creating them and in integrating external APIs into a project. If you'd like some help with an API, or just to have your API design reviewed before implementation, then I would like to help.

Working with different kinds of services and different technology stacks needs different skills, but I have the experience to bring to the table and get the project done. I write and speak extensively on a variety of API-related topics, and would be happy to share that knowledge.

PHP Services

There are some areas where having seen it all before is an advantage, particularly with tools and migrations. Everyone experiences most of the same pain points migrating from PHP 5.3 to 5.4 for example, and I have already encountered and solved most of those problems (and I have the scars to prove it). Let me "lend a hand" with your migration process to iron out the tricky bits more quickly and let your team get on with the important stuff.

The same is true of tools; they are very hard to implement from scratch in a team that hasn't used them. Allow me to work with your developers to set up the tools they need, and support them in identifying and documenting how they introduce these changes, workshop-style. Every environment is different so there is no "cookie cutter" approach here; but I have the experience to facilitate smooth introduction of best-of-breed tools and practices.


I love to teach! For a sample of courses I've taught recently, take a look at the topics list, but I'll happily write new courses on request, just get in touch. There is a list of public courses so you can check if I'm teaching the topics you need in a city near you - often this is the most cost-effective option for individuals and smaller teams. I have a lot of training experience in a wide variety of settings, but I'm still a developer at heart. I love to work with developers and am always happy to answer any other technical questions that come up during the course as I am very likely to have experience of, and probably an opinion on, the topic at hand! (also check out my blog posts about ZCE)