Technical Skills
Programming Languages
- Java27 yrs
- J2EE24 yrs
- JavaScript19 yrs
- C24 yrs
Cloud, Microservices & AI
- AWS2 yrs
- SQS / event-driven architecture2 yrs
- Kafka
- Spring Boot5 yrs
- RESTful APIs
- Microservices5 yrs
- Agentic AI development6 mths
Web Technologies
- HTML/HTML 526 yrs
- Struts/Tiles/JSP25 yrs
- XML/JSON15 yrs
Databases
- SQL Server18 yrs
- Oracle18 yrs
Professional Accomplishments
Currently designing and building an AI-based marketing email generator for CRM campaigns, applying generative AI within NBrown's AWS marketing microservices.
Migrated customer service letters to email by building email microservices that consume Kafka events and deliver through Oracle Responsys.
Led a team of developers in designing and deploying new AWS microservices (2024–present), taking the project from proof of concept to full production. Implemented event-driven architecture using SQS to trigger processes and integrated third-party APIs for seamless external data interactions.
Led the maintenance and enhancement of the front-end web shop for an online catalogue serving 3 million active customers, updating IBM MQ and implementing new services for e-statements and Irish Registration, and supporting the platform through its managed wind-down — it now serves existing customers only for order tracking and payments, ahead of full shutdown in 2027.
Served as the technical lead for GDPR compliance changes and the Business-as-Usual team, ensuring the website met regulatory requirements ahead of the May 2018 deadline while maintaining smooth ongoing operations.
Co-designed and developed a new user interface using Polymer and JSON servlets to create an integrated forum within the core product, improving user interaction and platform integration.
Collaboratively engineered a next-generation search engine UI using YUI3 and YUI2 components, connecting to JSONP servlets to enhance the user experience and search functionality.
Developed and maintained a J2EE/Struts-based search engine (Universal Search), resulting in increased search efficiency and improved data retrieval processes.
Enhanced and supported a J2EE/Struts-based order/invoice processing system (beX), optimising business-critical operations and reducing order processing time.
Led the design and implementation of Harbinger's Power.Enterprise! transformation engine and its accompanying Swing application, streamlining data transformation processes.
Managed maintenance and development of Atlas EDI, ensuring continued operational stability and supporting business growth.
Designed and implemented a configuration and upgrade utility, simplifying the upgrade process and reducing system downtime for end-users.
Experience
Java Developer/Technical Leadpermanent
Apr 2020 – Present (6 years 4 months)
Teams: Marketing Squad, BAU Squad
Returned to NBrown as a permanent employee after the earlier contract engagement. Led a team of 4 developers maintaining the legacy websites — designing technical solutions, ensuring their quality with the testing team, interfacing with IBM MQ, accessing FatWire for resources and maintaining the FreeMarker and JSP web catalogue — until the platform was wound down to serve existing customers only for order tracking and payments, with full shutdown due in 2027. Now working on marketing and CRM in the Marketing squad, leading the design and deployment of new AWS microservices from proof of concept to production, including an AI-based marketing email generator.
- Java
- JavaScript
- API
- FreeMarker
- JSON
- Struts 2.0
- Servlets
- AJAX
- MQ
- Spring Boot
- Agile
- AWS
- SQS
- Generative AI
- Kafka
- Responsys
Java Developer/Technical Leadcontract
Sep 2017 – Jul 2019 (1 year 11 months)
Contracted to NBrown through my own limited company. Designed technical solutions with my team of 4 developers and ensured the solutions were high in quality, liaising with the testing team to ensure the solutions were tested fully. Responsible for interfacing with IBM MQ, accessing FatWire for resources and maintaining the FreeMarker and JSP web catalogue. Tech Lead for updating the web shop for the GDPR requirements. Remained employed through my own limited company while seeking further contract work, before returning to NBrown as a permanent employee in April 2020.
- Java
- JavaScript
- API
- FreeMarker
- JSON
- Struts 2.0
- Servlets
- AJAX
- MQ
- Agile
Senior Software Engineerpermanent
Jan 2005 – Aug 2017 (12 years 8 months)
Senior engineer on 'Universal', the AI search engine developed by KPS. Responsible for all aspects of the user interface and the backend Servlet/EJB layers, working on the Lucene search and web-spidering components as well as the content management component. Also helped design a new communication forum, written in Polymer, built to integrate directly with the search engine.
- Java
- API development
- RESTful services API
- JavaScript
- YUI3
- Polymer
- JSON
- EJB3
- Tiles
- Struts
- Taglibs
- Servlets
- AJAX
- SQL Server
- Oracle
- MySQL
- Apache/IIS
- TDD
- Agile
- Lucene
- Web spidering
Software Engineerpermanent
Burns ECS Ltd.
Sep 2003 – Dec 2004 (1 year 4 months)
Sole responsibility for an application to convert Word, Excel and HTML documents into PDF format. Jointly responsible for updating and configuring components of beX, a purchase order to invoice processing system for large-scale buyers to interface with their suppliers.
- Struts
- Servlets
- EJB
- Oracle
- Java
- J2EE
- Taglibs
- Apache
- Linux
- Spring
- TDD
- Waterfall
Senior Software Engineer/Team Leadpermanent
Harbinger Commerce Ltd.
May 1996 – Aug 2003 (7 years 4 months)
Lead developer responsible for installation, upgrade and configuration components. Worked on the UI components of several projects. Team leader of a five-person team. 7 years experience in the EDI and E-Commerce arena. Devised and developed the Power.Enterprise! transformation engine. Provided IT support to local users and maintained the department's IBM AIX, HP-UX, Sun Solaris and Intel Linux servers.
- C/C++/MFC
- InstallShield
- J2EE
- JSP
- Struts
- Servlets
- EJB
- SQL Server
- Oracle
- DB2
- Java
- Taglibs
- Apache
- Linux
- Edifact
- Tradacoms
- ANSI X12
- Technical Documentation
- BACS Payments
- Waterfall
Hardware Technical Support Engineerpermanent
Granville Technology Ltd.
Nov 1994 – Apr 1996 (1 year 6 months)
Answering internal and external support queries for the company's range of PCs. Managed the front line support, responsible for escalated customer complaints and for refunding customers.
- Communication
- Hardware support
- OS support
Volunteer Work
Treasurer
Sep 2015 – Present (10 years 11 months)
Day-to-day accounting, managing several budgets and reporting of grant utilisation.
Webmaster
Jan 2015 – Present (11 years 7 months)
Administering the website, ensuring all the software is kept up to date, and updating the site with the latest news and policies using WordPress.
Webmaster
Jan 2008 – Present (18 years 7 months)
Administration and maintenance of the organisation's website, using Typo3 initially then migrated to WordPress for ease of use for the committee. Supported the committee with their PC based IT needs.
Education
BSc. Honours degree — Computer Science and Electronic Engineering
1991 – 1994
Open College Stage B & G.C.E. 'A' Levels — Electronic Engineering; A Levels in Computer Science, Mathematics, Physics
Accrington and Rossendale College
1989 – 1991
Interests
- Woodland working
- Leather craft
- Camping and walking
- Arduino and Raspberry Pi
- Emerging programming technologies