I am a software engineer with over eighteen years' commercial experience, focused on Free Software and open standards. I have seven years' commercial experience developing and maintaining web services in Python (2 and 3), using Django, Restish and Flask frameworks and backed by PostgreSQL, Cassandra, CouchDB, Solr and Elasticsearch and dealing with scalability to serve millions of users worldwide. I have over twenty years' Linux experience and have been using Ubuntu exclusively on my personal machines since 2006.
The most recent version of this file can always be found at wyrddreams.com/cv.html.
As part of the Online Services team, née Web & Mobile team, I was responsible for a wide range of Canonical's web services. I was initially brought on board to work on the Ubuntu One file sync service, and was involved in the development of various add-on services including contact synchronisation, music streaming and photo galleries. Remote pair programming featured heavily.
Key technologies: Django, PostgreSQL, Celery, Cassandra, CouchDB, Graphite.
Most recently I have been involved in the creation and growth of the Ubuntu Store for Click and Snap packages. I served as tech lead on the Click Package Index search component that is the main Store API entry point for all Ubuntu devices (phones, desktops and IoT devices running Ubuntu Core) when searching for, installing and updating Click and Snap packages.
Key technologies: Django, Restish, Flask, PostgreSQL, Solr, Elasticsearch, ELK, Juju, Grafana.
Leading a core team of two Java EE Developers and a DBA, I was responsible for the development and maintenance of Aeromanager, the Rolls-Royce customer-facing web portal for the management of civil aero engines. I worked with a small team within Rolls-Royce to determine, define and prioritise requirements. I was responsible for scheduling items for development, testing and release, managing the team's workload, mentoring team members and removing impediments to enable the release schedule to be met.
As part of a drive to improve efficiency and customer satisfaction, I initiated and supported the development of a JUnit test suite for the application, and the adoption of Agile processes for development.
Key technologies: Java, BEA WebLogic, WebMethods, SQL Server.
As part of a three-person team, I was responsible for the ongoing development and maintenance of our SMS messaging and billing platforms. Our diverse range of services included wi-fi credentials for The Cloud; PINs for Nokia's music download services; and enabling the mobile banking services of First Direct and HSBC provided by Monilink. I liaised directly with customers and suppliers to establish and prioritise requirements, maintaining an ongoing development roadmap while also providing application support, including out-of-hours work to maintain a 99.5% availability as per our SLAs. I produced and documented our development and deployment processes, based on test-driven development, with a continuous build environment and automated tests run on our staging environment.
I instigated and oversaw the installation of eGroupware within the company as a centralised ticket tracking and project management tool and for its wiki and other collaboration features, as well as the introduction of online meetings via Skype IM to aid with the transition of support staff from their various legacy systems. I also wrote the system startup scripts for our web and application servers to allow all services to start in the correct order after a hardware failure.
Key technologies: Java/J2EE, IBM WebSphere, Struts, Oracle 9i, CruiseControl.
Working as part of a team of around 70 individuals, I was responsible for the development of bespoke applications designed to be tailor-made solutions to the business needs of our clients. I worked closely with several mobile telecommunicatons service providers, helping our applications to attain validation for operation on live service networks. This involved performance of a series of test scripts and analysis of SMPP 3.3, SMPP 3.4 and SEMA OiS traffic as it was transmitted to the SMS Service Centres.
Wyrd Dreams is a freelance consultancy providing a variety of services, including web design, custom application development, systems and network administration, and hardware and software support among others and specialising in open source and open standards.
As level 1 staff member, my role was mainly user support. This involved helping with administrative requests such as password resets, username and channel registrations, and general queries. I was also involved in the resolution of user disputes, moderation of undesirable behaviour, and acting as a catalyst for productive, collaborative discussions.
Initially tracing old maps and later uploading and tracing GPS tracks of my own, I have covered large parts of Derby, including the vast majority of Mickleover's coverage. This has been supplemented with remote mapping of crisis areas as part of the Humanitarian OpenStreeMap Team.
Available on request.