dcarroll@donal.com  
Phone: (415) 448-7023 
http://www.donal.com    

resume (microsoft word version)


         
Summary
             

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.

Mobile:
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 Android Market)

Internet:
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 Services and XML in a variety of different contexts.

Databases:
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 SQL Server.

UNIX:
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 environments.

Programming Languages:
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 (Perl, JavaScript, HTML & XML.)

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 Flex.

Professional Experience

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 development.

Federal Reserve Bank, San Francisco CA
Nov. 2004 - May 2005:
Software Engineer/Architect

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:
Software Engineer/Architect

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:
Software Engineer/Architect

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 three-tier applications. 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 customers. 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. There was additional HTML/javascript client-side development work.

IBM, Palo Alto, CA
Mar. 1995 - Sep. 1996
Programmer/Analyst

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++.

Education
 
-  Bachelor of Engineering (Electronic)
University College Galway, Ireland


         
resume (microsoft word version)