Team & Project Management:
I have experience leading teams of software developers, both as manager and as technical lead, and of managing and
scheduling significant software development projects, and associated resources.
I have recent experience working with mobile/telephone platforms, including iPhone, Google/Android
and BlackBerry's Java Toolkit. I have published iPhone and Android applications.
(See the metroNOW!
application at the Apple AppStore, and on the
Multi-tier and E-Commerce internet systems development using a variety of Application
Servers, Web Servers, and programming tools. Current areas of expertise include client-
and server-side Java components, EJB development, and user interface development & deployment
using JBoss, IBM WebSphere, Tomcat, Apache Web Server and other industry-standard tools. Familiarity with Web
and XML in a variety of different contexts.
Client-programming experience (i.e. using tools such as database drivers, and JDBC & ODBC) with
a variety of relational databases. Recent hands-on experience with Sybase, Oracle and Microsoft
Programming experience, mostly in a network- or internet-related context, using Solaris, HPUX or
Linux platforms. Experience using tools such as Java, C/C++, Perl and shell scripting in these
Recent experience has been mostly using Java. Currently, I also regularly use Perl and C for
more specific tasks. I have an extensive programming background using object-oriented languages
(C++, ObjectiveC and Java), procedural languages (C) and other internet-related and/or scripting languages
Graphical User Interface Programming:
I have extended experience building user interface components, using HTML, Servlets,
JSP (including Tags and MVC & Struts technologies), Spring. I also have development
experience with other Rich Internet client tools such as Java Swing, Google Web Toolkit, Macromedia
Barclays Global Investors, San Francisco CA
Jan. 2007 - Dec. 2009:
Software Engineer/Development Manager
Worked on a number of projects, either as development manager or team lead. Projects included
implementation of a company-wide authorization framework (using the Securent authorization
product), a build framework (based on the Maven2 build/deploy tool), a data warehouse and
data consumption utility that consumes incoming fixed income instrument data and makes the
data available to downstream internal company applications, and a Portfolio Management application
with a rich user interface. Tools and technologies included
JBoss Application Server, Java JMS/IBM MQSeries, Web Services and Google Web Toolkit (GWT).
Arc Worldwide, San Francisco CA
May. 2005 - Dec. 2006:
Director of Engineering
Worked as manager of the San Francisco Engineering team, and as the teamís technical lead. I was
responsible for design and development of several large client projects, from initial requirements
gathering through to implementation and deployment for the client. These projects included design
and development of a large-scale Rich Internet Client-based application using Macromedia Flex and
a J2EE server-side architecture, in an IBM WebSphere environment. My role comprised different
responsibilities including project management, technical architecture design, and hands-on software
Federal Reserve Bank, San Francisco CA
Nov. 2004 - May 2005:
Working on design an implementation of a Batch Processing framework to manage processing of complex batch files,
and file formats, and to interface with a Debt Management system running in an IBM Websphere Application Server
environment. The system used a J2EE architecture with server-side session management (using components such as
Spring, Hibernate and Session EJBs). The client-side batch framework made heavy use of XML/XSL transforms, and
java reflection, to generalize handling of the different batch files, and used JMS and EJB interfaces to interact
with the server-side components. A scaleable application was implemented using Java technologies including EJBs,
Spring & JMS. The systems were deployed and tested using a continuous integration framework utilizing JUnit & Ant.
Paybytouch, Inc., San Francisco CA
Jan. 2004 - Nov. 2004:
Helping to design & develop back-end online and batch payment processing systems. The systems are
implemented using a distributed architecture that includes components such as IBM Websphere Application Server,
IBM MQSeries messaging products, JBoss Application Server and Oracle RDBMS. A scaleable application was
implemented using Java technologies including EJBs, Servlets & Apache Struts front-end components, JMX monitoring
functions, JMS messaging interface components. The systems
were deployed and tested using a continuous integration
framework utilizing JUnit, Ant and CruiseControl tools.
Wheels of Zeus, Los Gatos CA
Mar. 2003 - Jan. 2004:
Working on the Web Service component in Steve Wozniak's new wireless startup venture.
Reponsible for design and implementation of the consumer billing system subsystem, including
requirements gathering, subsystem architecture and framework implementation.
Technologies being used include java (J2EE, JMX, Struts), Resin and Tomcat servlet containers,
and Linux and Windows platforms.
Wells Fargo, San Francisco CA
Sep. 2002 - Mar. 2003:
Consultant - Middleware Services
Working on design, development and deployment of persistence-layer components for the new generation middleware
layer, which will enable interaction between various banking clients and back-end systems, using latest java and
J2EE technologies. The persistence layer facilitates transparent platform-independent interaction between legacy
systems (mainframe systems, relational databases, flat files etc.) and other middleware layer components.
Technologies being used include java (J2EE technologies, Reflection APIs), XML and IBM WebSphere Application Server.
Charles Schwab & Co, San Francisco CA
Feb. 2002 - Aug. 2002:
Consultant - SITE Support Systems
Working on maintenance & enhancement of a variety of Schwab back-office systems. Responsibilities include design and
implementation of porting solutions that allow legacy systems to be migrated to a consistent Weblogic/J2EE platform.
I have also
worked on custom iPlanet web server plug-in components to facilitate integration of legacy code with the new
Technologies include Java/J2EE, Oracle RDBMS & PL/SQL, and C Programming/NSAPI.
Netcentives, San Francisco CA
Feb 2001 - Feb 2002:
Consultant - Netcentives R & D
Worked on design of a Channel Reseller Rewards System from initial specification and
design phases, through full implementation of the product. Specification and design work was done using UML,
working with the Rational Rose modeling tool. The application is multi-tier, internet-based, developed using
Weblogic Application Server 6.0, using the J2EE 1.2 specification. I was involved as a senior
team member, designing and implementing initial framework and business logic components.
Snapfish.com Corporation, San Francisco CA
Nov 1999 - Jan 2001:
E-Commerce Engineer - Snapfish Site & Product Development
Worked on design and development of the multi-tier Snapfish web-site, from initial specification through
to current full production & on to new feature development. J2EE Technologies include Weblogic EJBs
in a Sun Solaris environment, using an Oracle RDBMS and Netscape and Apache web servers. I also worked with
a JMS implementation to provide a robust internal messaging layer. My role is
that of senior programming lead with responsibilities for product design & implementation.
Digital Courier, San Francisco CA
June 1998 - Nov 1999:
Software Engineer - Product Development
Working on development of a credit card payment processing engine for use by E-Commerce merchants.
My activities included systems design and development, using server-side java, in Solaris & Linux environments.
Working on development of middle-tier business objects and infrastructure
components in a distributed application, for an on-line retail web-site.
My activities included systems design and development, using java and C++,
in a Solaris environment.
Charles Schwab & Co., San Francisco CA
Sept 1996 - June 1998:
Consultant - Support ETS, Web Trading & Content Projects
Working on intranet projects to provide on-line database availability, and to
automate forms processing and other internal tasks. Technologies include
Java, Perl, C++, in Windows NT and Unix Solaris environments.
ODBC/JDBC database connectivity is provided to MS SQL Server and Oracle
databases, using LiveWire, Java and Active Server Pages.
Worked on new web pages providing funds trading and information to Schwab
Most work was CGI programming in C, in a Sun UNIX environment, to provide
forms functionality and to enable access to a back-end Oracle database.
IBM, Palo Alto, CA
Mar. 1995 - Sep. 1996
Worked on design, development and test of a variety of desktop and web-based applications
(including a desktop calculator for the OS/2 platform, and a generic web-based banking solution
available for customization by finance-industry clients).
Development was done on IBM OS/2 and Unix platforms using C & C++.
- Bachelor of Engineering (Electronic)
University College Galway, Ireland