Lead Developer (React Front End, Kotlin/Node.js Microservices Back End)
2020 - 2020Quorilla (Toptal Projects)- Was selected by Toptal Projects for a 2-week lightning start to plan and estimate the MVP as the lead developer along with the lead designer and the project and delivery managers. Led the team of five developers in the implementation phase.
- Built the front end using React, Redux, Material-UI, and WebRTC/HLS live video streaming.
- Built the back end using Kotlin Spring Boot microservices and Node.js AWS lambda functions for live streaming video processing. These loosely coupled microservices communicated using event-based communication with AWS SQS queues.
- Deployed dockerized microservices using AWS Fargate, Node.js serverless processing for video processing using AWS Lambda, AWS Media Services APIs, and continuous delivery with CircleCI.
- Included a full text search of courses, classes, and tutors using Elasticsearch and Hibernate Search.
- Led the team to build the MVP of the project from the planning stages to completion in four months within time and budget.
Technologies: Kotlin, Spring Boot, React, Amazon Web Services (AWS), AWS Lambda, AWS Fargate, Node.jsLead Developer (Full-stack React Front End, JVM Microservices Back End)
2018 - 2019FreeRoots (Toptal Projects)- Was selected by Toptal Projects for a 2-week lightning start to plan and estimate the MVP as the lead developer along with the lead designer and the project and delivery managers. Led the team of four developers in the implementation phase.
- 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 the team of four developers to deliver the MVP in four months, within time and budget.
Technologies: Amazon Web Services (AWS), Docker, Kotlin, GraphQL, Redux, ReactLead Developer (Native iOS/Android Front End, JVM Microservices Back End)
2018 - 2018Other Clients (Toptal Projects)- Was selected by Toptal Projects for two other lightning start projects to plan and estimate them as lead developer. Led the team of two developers in the implementation phase.
- Built two sharing economy native 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 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.
Technologies: Amazon Web Services (AWS), Docker, Spring Boot, Kotlin, Android, Swift, iOSTechnical Architect
2010 - 2018Phorest- 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.
- Built web apps using modern JavaScript frameworks such as React and Ember.
Technologies: Amazon Web Services (AWS), Kotlin, Groovy, Java, NoSQL, Hibernate, Spring, Docker, Microservices, Android, iOSJEE Architect (Contractor)
2010 - 2010Fujitsu- 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.
Technologies: Hibernate, Spring, Ingres, WebLogic, JavaSolutions Architect (Contractor)
2008 - 2009Sentenial Software- 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.
Technologies: IBM Db2, Spring Batch, Spring, z/OS, Linux, Oracle, JBoss, WebSphere, JMS, XSD, JAXB, XPath, XSLT, SAX, DOMSenior Software Engineer
2007 - 2008Cusp Point Software- 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.
Technologies: BPM, JBoss, RESTful Web Services, SOAP, JPA, Spring, Seam, JBoss Application ServerSenior Software Engineer (Contractor)
2006 - 2007Corvil- 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++, and Python and did Bash integration testing on a Linux platform running PostgreSQL.
- Profiled and performance tuned Java and PostgreSQL.
Technologies: Java, Bash Script, Python, PostgreSQL, C, C++Software Engineer (Contractor)
2005 - 2006AOL- 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.
Technologies: Maven, Tapestry, JBoss Drools, Spring, Hibernate, WebLogicResearch Associate
2003 - 2005University of Sydney | NICTA- 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.
Technologies: J2ME, Symbian, C++, C#, JavaTechnology Analyst (Intern)
2002 - 2002Barclays Capital Investment Bank, New York- 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.
Technologies: Sybase, Visual BasicProgrammer (Part-time)
1999 - 2001Genie Internet Consultancy- Principally worked on web application development using PHP, Perl, MySQL, JavaScript, and DHTML.
Technologies: DHTML, JavaScript, MySQL, Perl, PHP