I am a software engineer, classically trained musician, philosophy graduate, teacher and writer.
My commercial development experience has been gained in a diverse range of industries: investment banking (Barclays Capital), two start-ups (Fluidinfo & Xmonic), media (The Guardian) and large public sector based projects (The Council of Europe & Royal College of Paediatrics and Child Health).
I can offer expertise in:
In addition I am active in the free software community having created or actively contributed to several projects (see my Github page). I am especially active in the Python community as a member of the Python Software Foundation, the originator of the London Python Code Dojo, and as one of the organisers of the annual PyconUK conference. I regularly speak at conferences and other tech-related events (including PyconUK, Europython, OpenTech, Techhub and various "open source" related meet-ups). Some of my presentations can be found online. I also help organise and take part in the various NHSHackdays and some of the programming-in-education efforts (Computing at School, Python-related teacher outreach and the education track for PyconUK). Sometimes I have fun with mobile based augmented reality. :-)
I am a published author having written Getting Started with Fluidinfo for O'Reilly and Associates. I am currently co-authoring a new book for O'Reilly concerning the use of deferreds in Javascript (to be published in the autumn) and have written articles for the UK version of Computer Shopper Magazine. I occasionally write blog posts on this site and sometimes write as a guest blogger elsewhere (such as for O'Reilly Europe). I am also co-authoring a book on music theory and programming "just for fun".
I was elected a Fellow of the RSA in 2012 and, as such, intend to use the opportunity to promote programming education through work done at PyconUK.
Finally, I am still actively involved in music making; regularly performing in amateur orchestral concerts and occasionally appearing as a concerto soloist (I used to play the tuba professionally and I also play the piano and organ). Sometimes I am pursuaded to compose and arrange music for specific occasions or for friends.
I am part of a small agile team that maintains the Guardian's online dating site, Soulmates (the most profitable part of the Guardian).
In addition to maintaining the Django based front-end I've worked with a MongoDB database and on client side HTML, CSS and Javascript including first steps for making the site responsive. I've had some exposure to the Scala based API layer as well as involvement in various dev-ops related tasks and accomplishments.
I've also been involved in sprint planning, cross team retrospectives and various other aspects of agile methodology. Furthermore, I've been pro-active in pair programming with colleagues and have given presentations on TDD to the wider digital development team.
I've even had chance to write articles for the Guardian Developer blog.
Technologies used:
I was the third person to join Fluidinfo - a start-up backed by Betaworks, Esther Dyson and Tim O'Reilly.
Fluidinfo is an openly writeable, shared data store based on objects, tags and values exposed via a RESTful API. It allows anyone to store, organize, query and share data about anything. For this reason, some people call it a social data platform while others have described it as, "a database with the heart of a wiki".
I was involved in most aspects of the business:- front and back-end development, creation of client libraries for Python, Javascript, .NET and Android, presenting to developers, liaising with and supporting users, writing documentation, writing a book, answering queries from the press and acting as a technical contact for potential clients.
Technologies used:
Royal College of Paediatrics and Child Health - ASSET
I was lead developer on a Django based web-application for internal use within the RCPCH for gathering assessments and reporting on the progress of trainee paediatricians in the UK. I was involved in all aspects of the project including client-facing requirements capture, writing technical reports, architecture design, coding, testing, deployment and client support. The client reported that this was the first IT project they have been involved in where the product was delivered on time, under-budget and better than specified.
Technologies used:
I worked as a software engineer within the Development Tools team with responsibility for designing and delivering bespoke software solutions (both web and desktop based):
Other responsibilities included helping to administer and support the various services and applications that the team provided to "clients" within the bank:
Technologies used:
I was lead developer / architect on two contracts:
Both projects used the following technologies:
In addition, I provided consultation to Bis-Web on the agile development methodology, coding standards and best practices, improvements in source control (using Subversion), testing with nUnit, Lucene search technology and the hiring / testing of potential new software developers (I wrote their practical tests and took part in and advised upon several job interviews). I also mentored some of their new and junior developers.
I was part of a small start-up team that developed a web based business tool (RM3) for strategic account managers in large multi-national businesses. In addition to web-application development I was responsible for an expert system and natural language conversational agent.
Technologies used:
I wrote several articles and reviews on music hardware and software, Linux and IT in education whilst studying for my MSc in Computing.
I was a head of an inner-city Secondary (High School) music department and then a freelance music teacher. I organised / took part in:
Performed on / took part in:
Although I no longer work professionally I still play at a high level (I was the soloist in a performance of Vaughan-Williams's Tuba concerto in June 2008).
References available upon request.