- Polyglot programmer with experience in several languages
- Object oriented and functional programming styles
- Expertise in architecture, design patterns, and refactoring
- Test-driven development, DevOps, and continuous delivery
- Experience of training and mentoring dev teams
I bring a breadth and depth of experience from over 20 years building software. I am a polyglot programmer with expertise in architecture, domain-driven design, and working with legacy code. I practise test-driven development, DevOps, and continuous delivery. I have experience leading development teams, as well as training and mentoring developers. I am looking for a role that develops my leadership skills, where I can provide strategic input, and also remain hands-on developing software.
I founded Ideation Networks in 2007 to provide software development consultancy. My clients have included the BFI (British Film Institute), Moby, Viacom (MTV), Elsevier (The Lancet), Santander, and CTVC. I have worked on large content migrations, data processing pipelines, and search systems. I have built web apps, mobile apps, and smart-TV apps.
- Scalable frontend architectures and a wide range of experience with backend development.
- I am experienced in DevOps and improving software delivery performance.
- I have been lead developer on projects building web apps, mobile apps, and smart-TV apps.
Cloud-based SaaS Case Management
Full-stack developer, Engineering Lead
Tech stack: C# .NET, Vue.js (TypeScript), Azure, MS SQL Server
I developed extensions to the core systems and delivered a PWA client application (Vue.js) and .NET Core microservices to integrate with APIs, and third-party authentication services. Recent work with this client extended into the core systems (a legacy C# .NET monolithic codebase), and I introduced new ways of working, championed automation and test-driven development.
British Film Industry (BFI)
Tech stack: Angular (TypeScript), PHP, Drupal, Elasticsearch, AWS
I led the development of the Mediatheque application on permanent display at the BFI Southbank. This included an event-driven architecture for integrations and content ingestion, and an Angular (TypeScript) client application. The project had an aggressive timeline but I successfully navigated working across several teams within the organisation to get it delivered on time and exceeded expectations. I returned to help extend the Drupal (PHP) based commercial video streaming service. And again to lead development of the Samsung TV app (TypeScript).
I returned to work with BFI again during the pandemic to help transition the BFI London Film Festival to become an online festival. This involved implementing further content security requirements for the BFI’s online streaming services, and supporting the internal development team in extending the system to add new product types required for the festival.
Tech stack: PHP, Angular, Elasticsearch, AWS
I worked with CTVC through several evolutions of their TrueTube product. Initially migrating them from a proprietary system to an open-source CMS (Drupal). Then, after a few years, migrating this to a decoupled architecture using Angular on the frontend, headless CMS, and PHP based search API backed by Elasticsearch. This project made headlines in 2016 for being the first ever online platform to be nominated for Channel of the Year at the BAFTA Childrens' Awards. And, in 2017, became the first ever online platform to win the award.
Tech stack: Angular (TypeScript), Hasura, PostgreSQL, MongoDB, Ethereum, Vercel, Firebase/GCP
I was part of three EU-funded research projects on future internet technologies, including P2P and blockchain. The most recent blockchain research project implemented three pilots on Quorum, a private fork of Ethereum. I was a member of the consortium that defined the architecture. I also reviewed deliverables and integrated frontend components with the main blockchain-based system.
- I was the lead developer of an open-source "low-code" environment.
- I consulted on implementation of the Web Monetization API.
- I was part of three EU-funded research projects on future internet technologies.
- I was a developer on a Google DNI funded project investigating verification of online news.
I co-founded a successful digital music startup. As the technical founder, I had many responsibilities, including lead developer, technical sales, and managing technical operations. The company was acquired in 2007 when I was retained to manage the technology migration.
- I designed and built systems for mass transcoding of audio and management of music metadata.
- We were a small team working in an emerging market of digital music distribution. I was CTO, lead developer, technical sales, and a bit of everything else.
After graduation I continued the work I had started on building my own object-oriented programming language as part of the Verification and Testing Research Group. I focused on defining the formal semantics of the polymorphic typing mechanism. I also worked as a teaching assistant, and designed a course in commercial web development for the adult education centre. I was invited to attend BRICS Aarhus (Denmark) for a summer school where I took courses in category theory and logical methods.
- I was part of the Verification and Testing Research Group, focusing on the formal semantics of object-oriented programming languages.
- I worked as a teaching assistant, and designed a course in commercial web development for the adult education centre.
- Included a placement at BRICS Aarhus (Denmark) for a summer school in Logical Methods.
- I was awarded the Sir Douglas Lewin Memorial Prize for best examination performance.
- For my thesis I designed and implemented my own object-oriented programming language.
Ask me about:
- I love learning more about programming languages, software engineering, devops and continuous delivery. My three-step learning process involves consuming the best educational content I can find, applying what I have learned using side-projects and experiments, and then looking for ways to pass on and teach what I have learnt (meetup and conference talks).
- My current side-project is Zero Waste Tickets. This is an event ticketing system I built a few years ago that I am refactoring to use Modern React with an event-driven architecture and serverless backend.
- I created a collaborative drawing game (called Jots) using Vue.js, Capacitor (Cordova), Node.js and Firebase. It is available in the App store on iOS and Android. It has sold around 500 copies. Creating a framework for the game involved research into CRDTs and immutable data structures.
- I enjoy creative coding, and I created an open source programming language, Cyril, for live coding of 3D visuals (using C++ and OpenGL).
- I'm an electronic musician. I like to make music on the computer, a hardware groovebox, and external synths.
- In 2016 I wrote and published a book about PHP Frameworks, and in 2021 I started working on a book about the tactical patterns of domain-driven design.