I have been involved in the software industry for nearly 20 years working in both product and consulting environments across financial services, insurance and telecom industries internationally. As team lead I enjoy balancing delivery of projects with team development using agile methodolgies with test driven design and continuous integration methodology to develop N-tier applications. With a MSc. Network and Distributed Systems I enjoy learing new technologies with current interests including Gatsby, Go and Piviotal Cloud Platform.

GitHub
Stackoverflow

Mastercard October 2019 — Now

Lead Software Development Engineer - Customer Data Management

The Customer Data Management group provides a single set of API to our customers to configure their products.

Highlights

  • Team lead for a new team handling data migration using Apache Nifi as a platform.
  • Implementation of Spring Boot / Batch / Api applications with full integration test coverage and automated deployment pipelines to PCF.
  • Interview and developer support.
  • Release management and planning.

Mastercard August 2017 — October 2019

Lead Software Development Engineer - Commercial

The Commercial payments group support Virtual Credit Cards allowing rules to be configured and validated in real-time to support B2B payments.

Highlights

  • Team lead for the InControl real time Auth message processing system.
  • Design and development of features across API servers, authentication and frontend nodes.
  • Supported improvements to CI/CD practices and investigating how we can apply 'automate-everything' practices to database and cloud deployments.
  • Support the product and business owners to incrementally deliver business value in each iteration.

BearingPoint March 2015 — July 2017

Senior Technical Consultant

I worked as a Senior Java developer focused on the delivery of the Infonova R6 platform to our clients.

Highlights

  • During this time I have acted as Senior Dev, Team Lead and Scrum Master as various times during this engagement.
  • Delivery of new features, support current production issues while attempting to improve processes of E2E testing and test environment support.
  • Involved with a proof of concept projects to demonstrate how our solution could be deployed to the Azure Cloud, and use vagrant / docker for internal test deployments.
  • I have been asked as a mentor to junior members to the firm and team. I have been involved with the delivery of internal technical training courses.

Aegon July 2012 — December 2014

Senior Software Engineer, Contract

Chief Designer and developer for a new batch platform that generates daily hedging files for multiple products. The system was implemented using Spring Batch to allow the actuarial team to manipulate data on the fly using rules defined via Spring Expression Language.

Highlights

  • Involved with user Acceptance Testing and Live production releases.
  • Extended the existing integration test framework to support reporting of code coverage metrics for all modules via Sonar on a nightly basis.

Arantech January 2011 — June 2012

Senior Software Engineer, Contract

Java Contractor working on various Customer Experience Management components in the Touchpoint and Proaction products.

Highlights

  • Implemented a generic entity framework to handle database operations in the core Touchpoint product.
  • Created a test framework for integration and system testing of the product.
  • Introduced the use of the sonar code quality engine to the organisation.

Aegon October 2009 — October 2010

Senior Software Engineer, Contract

Java Contractor within the Aegon office providing support for UK and Dutch pension providers.

Highlights

  • Implemented a validation service that allowed for reuse of rule hierarchies across products and locales from a database configuration.

Terranua March 2008 — September 2009

Software Engineer, Contract

Java Contractor within Terranua's consultancy group focused on providing a risk control system to the Fidelity organization.

Highlights

  • Risk Reporting: Responsible for a risk reporting system which queries risk details from a database and creates an XML report
  • There are then transformed via XSL to HTML and Word formats for user preview and printing.

Norkom October 2007 — February 2008

Software Engineer, Contract

Java Contractor within Norkom's development group which delivered a financial crime and compliance application that can be deployed into various J2EE server and database environments.

Highlights

  • Watch List Management Day to day work involved bug fixing and small pieces of new development on various branches of this sub-project.

Curam September 2006 — September 2007

Software Engineer

Curam provide a social enterprise management solution that can be customised for various social welfare organisations across the globe.

Highlights

  • Worked on the Unemployment Insurance product within the workflow group which involved the full software development lifecycle on various J2EE platforms.
  • Implementation of a unit testing framework and tools to auto-generate unit test stubs from the project model.
  • Maintenance of the smoke test and continuous integration systems.

UBS January 2003 — May 2006

Software Engineer

International assignment as a software developer within the Foreign Exchange IT group in Zurich, Switzerland and London, England

Highlights

  • ZFM is a real time settlement and reconciliation system based on XML messaging over MQ. As Project Leader responsibilities included the design and implementation of an API, the planning and co-ordination of development and testing, both within our group and with other departments.
  • The system consist of various java applications communicating via XML and MQ. A web-based tool supports tracking and supervision of messages within the system.
  • eBus provides a consolidated view of all deal confirmation messages within the FX trading platform.
  • As Project Lead I was responsible for the design of a common message specification, implementation with XML/XSL over MQ, and the co-ordination of the testing and release phases.

Ericsson October 2000 — December 2002

Software Engineer

RANOS is an operations and management system for Ericsson’s 3G telecommunications radio network system.

Highlights

  • Member of a framework group which provided generic server side components.

Spring

  • Core
  • Boot
  • Batch
  • Integration
  • SpEL
  • Cloud
  • Data
  • Social

Java

  • J2EE
  • JPA
  • Concurrency
  • Reflection
  • TDD
  • Sun Certified Java Developer

Dev Ops

  • Ansible
  • PCF
  • Azure
  • Docker
  • Vagrant
  • Packer

Web

  • Spring MVC
  • Angular2
  • Typescript
  • JSP
  • Bootstrap

XML

  • JAXB
  • XSL(T)
  • XPath
  • FOP-XSL
  • SOAP
  • WebServices

Servers

  • JBoss
  • Websphere
  • Weblogic
  • Glassfish
  • Tomcat
  • Apache
  • Jetty

Databases

  • Oracle
  • Postgresql
  • MS SQL Server
  • Informix
  • MySql

Build/CI Tools

  • GIT
  • Maven
  • Gradle
  • ANT
  • Jenkins
  • Sonar
  • Jacoco
  • SVN
  • Github Actions

PHP

  • Wordpress
  • Zend Framework
  • Composer

Other

  • Gatsby
  • node
  • Go

Trinity College Dublin September 1999 — September 2000

M.Sc Network and Distributed Systems
Masters

Courses

  • Dissertation Title: Collaborative Ad-hoc Applications - An investigation into the use of trust based security in ad-hoc JINI systems.

Trinity College Dublin September 1995 — June 1999

B.A.I in Computer and Electronic Engineering, B.A in Engineering Mathematics
Degree

Courses

  • Final Year Project Title: Digital Filtering System for Internet Telephony.

Business Houses Athletic Association January 2010 — Now

Webmaster and past Chairperson

The BHAA organise running races on an inter-firm basis.

Highlights

  • Development of a wordpress plugin for online viewing of race results and leagues.

Publication September 2000

Published by Trinity College Dublin

Collaborative Ad-hoc Applications