- Web: https://daz.is
- 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 have a proven track record of picking things up quickly, getting things done on time and on budget, and working to a high quality standard. I have experience leading development teams, as well as training and mentoring developers.
Working in a small team of engineers to deliver product improvements in a fast-paced startup environment. I have been developing new features, enabling the company's US expansion, while also fixing technical debt from the early startup phase, and introducing extensive automated testing.
- Maintain and develop backend systems (Node.js with NestJS Framework)
- Occasional frontend work with React (web) and React Native (mobile app)
- CI, GitHub Actions, and GCP
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. When this work extended into the core systems (a legacy C# .NET monolithic codebase) I transitioned from contractor to employee. I then took a leadership role within the engineering team where I introduced new ways of working, championed automation and test-driven development.
- Full-stack developer and engineering Lead
- Tech stack: C# .NET, Vue.js (TypeScript), Azure, MS SQL Server
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.
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.
- 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 over 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.