David Ireland
|
Consulting Availability |
Weekly Hours |
|||||
|
10 |
20 |
30 |
40 |
50 |
60 |
|
|
As of July 1, 2008 |
available |
available |
available |
available |
available |
available |
Summary of qualifications:
I am an
Applications Specialist with strong verbal, written, C#, Java/Swing, SQL,
application performance, and mathematical skills. I am also quite adept at quickly learning
source code so I can make an immediate impact for environments with an existing
code base.
Job History:
Sep 1999 – Present, Lead Consultant, Labyrinth Software
Solutions Inc
Client: BD Biosciences (Medical devices – analysis client
software)
Timeframe: Feb 2007 - Present
Duties: Worked on a team to create the first version of a new analysis C# client
application.
I defined the interfaces for plug-ins for external integrations. Implemented the model integration points and
a few plug-ins, trained others to implement other plug-ins.
Developed XML importing library to implement from another
application.
Redesigned statistics to optimize computations and simplify the design.
Client: DHL via Price & Smile Consulting (Package Shipping and Tracking)
Timeframe: Oct 2006 – May 2007, May
2005 – Feb 2006
Duties: Added support for USB based
weight scales in their C# client application.
I created the upgrade software to upgrade from a few different prior versions
to the current by updating the database schema, file modifications.
During my first contract with DHL, I was
responsible for the majority of the UI design and implementation as the
original architect rolled of this project shortly after I started. I added several new commands to the C# client
and designed Print Batching to handle large numbers of shipments in the client
and server.
Created the upgrade
program to update the database schema (DB2 or SQL Server database). Designed and implemented an upgrade
application that uses XML XPaths in an upgrade file
to upgrade the XML configuration files.
Created VBScript and WScript utilities to
perform upgrade tasks
Client: BD Biosciences (Medical devices – data capture and
analysis software)
Timeframe: Nov 2005 – Nov 2006, Sep
1999 - May 2005
Duties: In FACSDiva
6.0 worked with the Project Manager, Marketing, and expert users to develop
requirements and prototypes for their 6.0 release. UI design of new features,
lead the teams that were implementing the design. I changed the pipeline
architecture to be able to robustly record and display extremely large amounts
of data. I added analysis commands and co-optimized
their database schema.
In versions 1.0
through 4.1 I designed and implemented
functionality in almost all areas of their product (statistics, data pipeline,
persistence, analysis, definition), front to back implementation using Swing on
the front end to schema on the back end.
Lead designs and mentoring.
For version 1.0 I redesigned and
implement the persistence subsystem.
Their original design for persistence was found to be unworkable after a
year of two people prototyping. I worked
with the project managers to get requirements and created a
new persistence architecture. I
implemented all of the code to make their objects persistent in the Sybase
database.
Consult with mathematicians to take
pattern recognition algorithms and implement them in Java. These algorithms were used to aid in the diagnosis
of HIV. I created histogram classes for
the UI and model objects.
Technologies: Java, Swing, JDBC, SQL, Sybase ASA, UML
Client: Arzoon (Shipping automation service)
Timeframe: 2001, 2003
Duties: I designed and
developed the payment functionality for their web site using Verisign as the payment services provider.
I
designed and implemented the framework to allow the user to define alerts that
can be sent to them when events take place.
Alerts could be sent out via a high volume email queue, pager, or simply
an online event through their portal web site.
I
developed a tool to be used by internal developers as a schema, code, and data
generator to do rapid prototyping and volume testing. Using my tool they were able to optimize
their web site (one query went from 30 minutes to 4 seconds)
Technologies: Java, XML, Versign XMLPay, JDBC, Oracle, Weblogic
Server, Servlets, Javascript,
JSP, and HTML.
Client: Annuncio (Marketing automation enterprise application)
Timeframe:
2000
Duties: Worked with Oracle to design integration component
with their product. I assisted in the
completion of several features of the client and some in the server.
Technologies: Java, SQL, Oracle, SQL Server,
RMI
Jan.
1998 – Aug 1999, Senior Software Engineer, Annuncio
Software
Into a new Internet marketing
automation Java product, designed and developed client data management
functionality with custom database table creation (for non database users),
query tool (with SQL generation), import, export, and list generation and management.
The GUI used JFC Swing, RMI communication to server, JDBC connection to MS SQL
or Oracle (NT and Unix) database.
Added server functionality
to email documents in multi-part MIME and HTML email formats.
Jul.
1996 – Jan 1998, Project Lead,
Windows project lead for our
multi-platform (UNIX, Windows, MPE) job scheduling and load balancing
client/server products. Projects I designed and developed include integration
with Microsoft’s SMS, timezone handling, installation
enhancements (Installshield, new user creation,
enable user rights, NTFS file security), launch interactive applications from a
NT service, and development of an operating system independent library.
This oslayer
library used WIN32 APIs for process management, file handling/locking, user
handling (getpwuid, getuid,
etc), and other miscellaneous functions that were needed to have the same
source code be used for both UNIX and Windows products. The oslayer
library is a multithreaded DLL on Windows platforms and used TLS and
synchronization APIs.
Worked with Product
Marketing to generate an Investigative Report to determine the direction of our
scheduler (Maestro) on the MS Windows platform. Worked with Microsoft to extend
their scheduler using our own and to integrate Maestro with new Microsoft
technologies.
Apr.
1996 - Jun. 1996, Development Manager, PRC Gaming Systems
Management responsibilities (hiring,
reviews, foster teamwork) and lead technical designer for casino player
tracking software and some smaller projects. Did project
scheduling, requirements discussions with customers, object model redesign.
Used SQL Server database as a data store. Application
developed with VB with an OLE automation model in C++ and VB.
Jan.
1990 – Mar. 1996, Software Consultant (title),
Intergraph Corporation
Developed an ODBC driver to access our OLE2 based database on Windows NT.
Documented design with OMT. Extensive use of COM. Used MFC
and VB to write automatic testing procedures for ODBC driver testing. Ported a C++ database engine from UNIX to Windows NT for use in the
ODBC driver.
Project Lead in a Client/Server product on
SunOS for large binary data storage and retrieval using RPC, NFS technology,
ESQL, and TCP/IP sockets. Prototyped application using
X-Windows to get funding. Designed and developed the data translation
modules, job scheduling server, resource management, and db creation
application used to create Informix, Oracle, Ingres, and Sybase databases. Neuron Data UI.
Designed and developed software to clip
graphics (text, point, line, or area) using any polygonal fence. The code was
written to be reusable and was used by three different graphics engines. I created
a translator between DMA mapping data and Microstation
CAD design file with database.
Active in performance
working group to design new algorithms to make core software faster. One performance improvement that I did was modify
topological graphics engine to speed up graphic clip times on dense design
files improving clip times by a factor of 20 when working with large data
files.
Developed UI commands for our CAD mapping
products in C++ on UNIX to manipulate graphic objects and perform analysis on
them. Used embedded SQL with Informix to gather information
about the graphic objects. Redesigned a custom report
building and execution application to fix performance, memory consumption, and
usability problems.
Mar.
1989 - Jan. 1990, QA Engineer/Programmer, Communications
Research Group
Wrote programs in C and 8086 assembly
to test terminal emulators, to detect RS232 hardware signals, and to analyze
our communication transfer protocol.
Feb.
1989 - Mar. 1989, Software Developer,
Wrote programs in FORTRAN 77 to model
underground water flow using various levels of water pumping and graphically
output the data (contours and graphs).
Technologies:
C#, Java (JSP, Servlets, RMI, JDBC, Swing, Threading, XML), C++, C, MS
Windows (OLE2/COM/Active X, ODBC, NT Services, MFC), Design (OMT, UML), UNIX, Databases
(MS-SQL, Oracle, Sybase Sql Anywhere)
Education:
Oct 1997 - Microsoft Certified Professional
Dec.
1989 Bachelor of Science in Computer
Science. (Minor: Electrical
Engineering),