Lead Developer (Full-stack React Front-end, JVM Microservices Back End)2018 - 2019FreeRoots (via Toptal)
Technologies: Amazon Web Services (AWS), AWS, Docker, Kotlin, GraphQL, Redux, React
- Built a React/Redux front-end application using functional React components and hooks.
- Used an Apollo GraphQL library to communicate with the microservices back end.
- Built the back end using Kotlin Spring Boot microservices. These loosely coupled microservices communicated using event-based communication with AWS SQS queues.
- Deployed dockerized microservices using AWS Fargate, and continuous delivery with CircleCI.
- Led a team of four developers to build an MVP project from the planning stages to completion in four months (coming in within time and budget).
Lead Developer (Native iOS/Android Front-end, JVM Microservices Back End)2018 - 2018Clients (via Toptal)
Technologies: Amazon Web Services (AWS), AWS, Docker, Spring Boot, Kotlin, Android, Swift, iOS
- Built two "sharing economy" elegant apps: a native iOS app using Swift and a native Android app using Kotlin.
- Implemented communication via REST with Spring Boot-microservices written in Kotlin.
- Deployed as dockerized containers on AWS Fargate.
- Implemented payment processing via Stripe.
- Built an admin portal using React/Redux.
- Delivered the apps on time and within budget.
Technical Architect2010 - 2018Phorest
Technologies: Amazon Web Services (AWS), Kotlin, Groovy, Java, NoSQL, Hibernate, Spring, AWS, Docker, Microservices, Android, iOS
- Designed the architecture and implemented a web-scale, multi-tenant cloud-based platform for the beauty industry with Java and open source stack with microservice architecture.
- Built a multitenant cloud system that services thousands of businesses with millions of customers, built on elastic, scaling AWS cloud infrastructure using Amazon ECS and Docker.
- Developed Spring Boot microservice applications deployed on AWS ECS; built with Java, Groovy, and Kotlin.
- Built Objective-C and Swift iOS apps. One iOS app was featured by Apple in the App Store.
- Developed native Android (Java, Kotlin) apps.
JEE Architect (Contractor)2010 - 2010Fujitsu
Technologies: Hibernate, Spring, Ingres, WebLogic, Java
- Acted as a Fujitsu consultant onsite at the Irish tax authority (revenue commissioners).
- Developed a new ESB solution for revenue as part of their SOA strategy, in addition to Java development on other projects.
- Used the Mule ESB to mediate JMS, web services, and legacy communication protocols between the revenue’s web applications and back-end core tax processing services.
- Defined the XA transaction strategy for integrating the various endpoints.
- Worked on various other JEE applications using WebLogic, Sprint, Hibernate, and Ingres.
Solutions Architect (Contractor)2008 - 2009Sentenial Software
Technologies: IBM Db2, Spring Batch, Spring, z/OS, Linux, Oracle, JBoss, WebSphere, JMS, XSD, JAXB, XPath, XSLT, SAX, DOM
- Designed and built a B2B core integration framework for SEPA’s high-volume message-based, direct debit payment processing.
- Developed a specific implementation for integrating Sentenial's SEPA payment system with the accounting systems of the Royal Bank of Scotland.
- Designed a flexible integration framework which allows Sentenial’s suite of products to stream messages to heterogenous bank systems via web services, JMS, SFTP, files, etc, through a configuration of different endpoints.
- Used Spring (including Spring Web Services and Spring Batch), various XML processing frameworks (DOM, SAX, XSLT, XPath, JAXB, XSD), JMS, WebSphere, JBoss, Oracle and DB2 on Windows, Linux, and ZOS mainframes. The system is currently being used to process payments in Royal Bank of Scotland and ABN Amro.
Senior Software Engineer2007 - 2008Cusp Point Software
Technologies: BPM, JBoss, RESTful Web Services, SOAP, JPA, Spring, Seam, JBoss Application Server
- Worked as the lead developer, mainly designing and delivering a large number of features in a highly distributed, multi-tenant web application, targeted at terabytes of data in a SAS document management system.
- Built an Ajax front end, back end, and did full-stack development for the core document management web application using a JBoss Application Server, Seam, Spring, and JPA architecture.
- Developed a SOAP/REST document management web service.
- Created a back-end domain object based security framework for a multi-tenant web application using Spring Security.
- Wrote a document routing workflow web application using JBoss JBPM, and a document batch processing engine using Spring/Hibernate.
Senior Software Engineer (Contractor)2006 - 2007Corvil
Technologies: Java, Bash Scripting, Python, PostgreSQL, C, C++
- Contributed to the build of an embedded platform for Corvil’s network bandwidth quality manager, to support introspection of network problems in high-volume, financial trading environments using statistical algorithms to analyze 10 GB packet rates to microsecond accuracy.
- Managed and worked in core Java development.
- Wrote network systems programming C/C++, Python and did Bash integration testing on a Linux platform running PostgreSQL.
- Profiled and performance tuned Java and PostgreSQL.
Software Engineer (Contractor)2005 - 2006AOL
Technologies: Maven, Tapestry, JBoss Drools, Spring, Hibernate, WebLogic
- Developed a new webservices SOA, using J2EE technologies, supporting AOL’s internal and B2B strategy.
- Helped design and build the Order Management Service; used a range of technologies and techniques, including web services (via WebLogic), Hibernate, Spring, Drools, Tapestry, Maven, and model-driven architecture (using AndroMDA).
- Also used standard J2EE technologies such as EJB, JMS, and servlets.
Research Associate2003 - 2005University of Sydney | NICTA
Technologies: J2ME, Symbian, C++, C#, Java
- Worked on two industry funded research and development projects.
- Was involved in the development of a Bluetooth/GSM telecommunications hybrid-positioning system (Symbian/C++ and J2ME).
- Worked with heterogeneous middleware for multi-modal input and output (Java, C++).
- Was published in seven journal and conference publications.
Technology Analyst (Intern)2002 - 2002Barclays Capital Investment Bank, New York
Technologies: Sybase, Visual Basic
- Developed applications for managing the corporation’s Sybase database users using Visual Basic; my work increased the application performance by over an order of magnitude.
Programmer (Part-time)1999 - 2001Genie Internet Consultancy