About Me

I have a strong technology background, built over 18 years of both practical and academic experience across several domains. As a solution architect, technical lead, developer and systems administrator I have worked with teams responsible for the successful delivery of both large (multi-million pound) and small (1-2 week) projects alike. I enjoy working with smart, driven people who are as interested in how to efficiently build and deliver high-quality, high-impact software solutions as I am. I thrive in a complex technical landscape and enjoy finding the simple answers to hard questions as much as I do managing the difficult ones. As an engineer I understand the importance of working with changing and evolving technologies and practices and I'm passionate about understanding how new and emerging technologies can be used to build better products faster.

Contact Details

owencliffe@gmail.com

Work

PayPoint PLC

Agile Solution Architect, Mobile & Online November 2013 - Present

  • Supported product, operations and development teams in shaping and delivering complex, financial and security sensitive projects on green-field and legacy software platforms
  • Architect and technical lead on Mobile (Android,iOS) payments SDK development project
  • Selected suppliers and built out a new automated mobile and cross-browser testing capability within our existing (Jenkins) CI environment
  • Designed and rapid-prototyped REST/JSON APIs, consumer web products and product demonstrators (e.g. CardLock, CardInfo ) in Node.js deployed on Heroku
  • Designed and kick-started AngularJS customer portal renewal project with off-shore team (migrating from Flex)
  • Prototyped a lightweight framework using ElasticSearch to analyse and gain insight from our low-level bank-messaging
  • Investigated & costed proposals to move in-house development services (git, jenkins, nexus, sonar, CI & UAT) from in-house data centre into AWS
  • Part of the senior team responsible for planning annual IT and product road maps
  • Lead on PCI-DSS 3.0 compliance within the development and delivery department including developer training and design for compliance, subject matter expert in PCI DSS scope-reduction product development
  • Architect and technical lead for a business-wide financial settlement and reconciliation project
  • Responsible for tracking and managing the implementation of technology choices and managing adoption of new technologies within development team
  • Architect for a fraud detection and management project based on COTS integration, in-house development and third-party development

Lead Java Developer June 2012 - Nov 2013

  • Technical lead and then architect on the PayPoint Advanced Payments platform renewal project
  • Designed PayPoint's new payment platform APIs and migrated these and other APIs from SOAP to REST
  • Designed and implemented a high-throughput (>400 tps), low-latency (<1s) ETL framework for populating a column-oriented database (InfoBright) for a payments analytics product
  • Built out a virtualised development environment using Vagrant, Puppet (subsequently migrated this to use Vagrant + Docker)
  • Built a continuous integration and delivery (from development) pipeline (using Jenkins and Nexus) for a complex, multi-service Java platform allowing two-weekly push-button software releases to the production pipeline, worked with the operations team to support their automated release process in staging and production
  • Worked with the product team to understand and build out the payments requirements for a large PLC gaming client
  • Implemented an internal cross-service tracing and monitoring system using MongoDB and JMS within our existing JEE stack based on Dapper
  • Implemented security application to facilitate cryptographic storage of cardholder data in BPEL for the CardLock tokenisation product using a third party (Intel ESG) platform
  • Trained and integrated a near-shore (Romania) team into a larger platform renewal project
  • Managed migration of payments platform from GlassFish to JBoss 7
  • Completed project evaluations, solution definitions, planning, high-level estimation and team handover on numerous projects

Senior Java Developer November 2010 - June 2012

  • Responsible for managing the transition of a complex, legacy payments platform to a state of maintainability - allowing bi-weekly, low-risk releases since 2011
  • Experience in a variety of international and UK and payments standards (inc. ISO8583 & UKCA Std. 70) as a team lead delivering new acquirer integrations to BNP Paribas and HSBC & EMS via Omnipay and the ongoing maintenance of 19 other integrations
  • Senior developer and team-lead on numerous Java and PHP projects for an agile, growing payments company
  • Line management, scrum master (CSM)

University of Bath

Research Officer, ALIVE Project May 2008 - October 2010

  • Researcher/developer on EU-funded project studying model-driven approaches to building software for service-oriented organisations.
  • Work included research and development extending existing state of the art industrial tools and technologies (Eclipse, J2EE, JMS) with web semantics, normative modeling, autonomic management and self-optimization
  • Developed Eclipse plugins as part of a large RCP application for service integration and system design, incorporating modeling tools (GMF, EMF) and semantic service description and management tools (Based on JAX-WS/JAX-RS) for existing platforms (including Apache CXF, Spring, AXIS2, GlassFish)
  • Managed day-to-day activities of a small team (2-4 developers) over the course of the project where I was involved in Scrum, and TDD/CI both locally and as part of the larger project

Developer & Systems and Networks Administrator August 2006 - May 2008

  • Lead developer on business-critical network management (DNS, DHCP & SNMP) and auditing tool, developed in Java using Spring (inc MVC, Web Flow and Spring Security), JTA, Hibernate, GWT with integration components in Perl/PHP/C#
  • Design, implementation and deployment of university-wide identity and access (both network and physical) management policy and tools, including building user management tools (Spring MVC) and university-wide web single sign-on
  • Part of the team responsible for managing, developing and supporting the core network with over 10,000 active users. Lead on infrastructure projects including overseeing the deployment of a campus-wide security camera system and performing a network security audit

Research Officer, @lis-technet project October 2004 - July 2006

  • Research officer ont he EuropeAID-funded @lis-technet project

EduServ

Software Engineer/Systems Administrator June 2000 - December 2002

  • Maintainer of and then lead developer of the Athens access management system for higher-education research material (principally Solaris/Linux C++ with integration components written for ISAPI, ActiveX, Perl, PHP and Apache)
  • Oversaw a small team responsible for the ongoing development of the AthensDA (distributed authentication) replacement system in Java/PHP
  • Other responsibilities included community liaison and administration and maintenance of service machines (Solaris/Linux) and underlying databases (Sybase)

Cambro Ltd

Software Developer December 1997 - May 2000

  • Developed networked desktop news distribution system for the Windows platform in C++
  • Programmer on numerous ASP based sites

British Telecom

Student Placement July 1998 - September 1998

  • Developed BT Business Division online knowledge library using ASP, Access and MSSQL

Quality Genius Software

Developer/Partner 1996 - 1999

  • Co-founder of a small software company, developed and marketed software tool for quality self assessment using the European Foundation for Quality Management (EFQM) self assessment framework in Visual Basic, and Borland C++.

Skills

Java: (OCPJP), Maven, Gradle, Ant, IntelliJ, Eclipse, Eclipse RCP, Spring (SpringSource Certified Enterprise Integration Specialist), JEE (JBoss, Glassfish), CXF JavaScript: Node.js, AngularJS, Grunt, D3 Data: MySQL, PostgreSQL, MongoDB, Redis, BI and Warehouse design, Talend ETL, Pentaho, ElasticSearch Tools: Jenkins, Git, Sonar Ops: Linux, Vagrant, Docker, Puppet, Heroku Design: REST APIs, SOA, Cryptography & Security, MDA, HA Other: BPEL, Perl, Prolog, C, C++, WS-*, Answer Set Programming, Symbolic Model Checking

Education

University of Bath, UK

Ph.D Computer Science September 2006

University Of Southampton, UK

B.Sc. Computer Science, 1st Class Hons. June 2000

  • Winner 1999 Schlumberger Software Engineering Design Award
  • Final year project: Symbolic model checking of concurrent Java programs available here: http://www.cs.bath.ac.uk/~occ/jeck/

Publications

(selected, full list here)
Template-Based Adaptation of Semantic Web Services with Model-Driven Engineering Athanasios Staikopoulos, Siobhán Clarke, Owen Cliffe, Julian Padget, Razvan Popescu. IEEE Transactions on Services Computing.
A Pragmatic Programmer’s Guide to Answer Set Programming Martin Brain, Owen Cliffe and Marina De Vos. Second International Workshop on Software Engineering for Answer Set Programming (SEA'09). Potsdam, Germany, 14th September 2009.
Modelling Normative Frameworks using Answer Set Programing Owen Cliffe, Marina De Vos, and Julian Padget. 10th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR 09) Potsdam, Germany, 14-18 September, 2009. [Springerlink]
ASPViz: Declarative Visualisation and Animation Using Answer Set Programming (Short Paper) Owen Cliffe, Marina De Vos, Martin Brain and Julian Padget. 24th International Conference on Logic Programming (ICLP 08) Udine, December '08 Tools and code. [Springerlink]
Mutual Dynamic Adaptation of Models and Service Enactment in ALIVE Athanasios Staikopoulos, Sébastien Saudrais, Siobhán Clarke, Julian Padget, Owen Cliffe and Marina De Vos. Models@run.time workshop 08' Toulouse, September '08.