Daniel Hale
INTRODUCTION
Demonstrated expertise in designing and implementing robust, high-performance software and firmware for embedded, device driver and
real-time applications, including robots, N/C controls, scientific instruments and avionics. Experience encompasses interfacing robots
and scientific instruments with enterprise-class database systems and designing and developing data validation and analysis
applications. Extensive experience taking projects from concept to completion in several industries. A bachelor's degree in Applied
Mathematics from California Institute of Technology provides a firm foundation for expert implementation of mathematical algorithms, as
well as providing a background helpful in communicating with scientists and engineers in other disciplines.
SKILLS SUMMARY
* Software Requirements: Expert at interviewing potential users, gaining an understanding of their work and producing requirements
documentation.
* Software Architecture: Demonstrated expertise in designing robust architecture fulfilling requirements.
* Project Management: Track record of bringing projects from concept to completion, where possible using phased
implementation/deployment and an iterative process that leverages feedback from users and testers.
* Software Engineering: Facile with object-oriented design, implemented using languages such as C++, C# and Java. Experienced with
assembly language implementation when necessary for embedded applications.
* OS Experience: All versions of Microsoft Windows, including drivers (WDM and Kernel Mode), COM, ATL, OLEDB, DAO; embedded
DOS; some RTOS experience (MTOS); some Unix/Linux experience.
* Databases: Microsoft SQL Server with T/SQL; Oracle with PL/SQL.
* Communications: Serial, parallel, shared memory, DMA, TCP/IP.
* Embedded Development Tools: Logic analyzers, in-circuit emulators, oscilloscopes, etc.
* Software Tools: Microsoft .Net (C#, C++), Microsoft Visual Studio (C++/MFC, VB), Microsoft Visual Source Safe, Borland J-Builder,
Compuware DevPartner Studio and Driver Studio, Visual Basic for Applications (VBA), DevTrack.
EXPERIENCE
Persyst Development Corporation, Prescott, AZ, Consultant, December 2006 to Present
* Adding new features to existing database product for medical instruments
Custom Quality Millwork Inc, Garden Grove, CA, Consultant, October 2004 - present
* Finishing development of a 32-bit Windows replacement for the DOS-based MRP program previously developed in 1995 for finish
carpentry contractors (see below).
Acadia Pharmaceuticals Inc, San Diego, CA, Consultant, June 2004 - September 2004
* Collaborated with project manager/DBA in designing a Laboratory Information Management (LIM) database schema in Oracle.
* Designed and implemented software in C# to acquire data from a plate reader, do a quick analysis for QC and allow the user to select
readings for upload to an Oracle database.
* Designed and implemented a C#-callable multi-threaded ATL/COM module in C++ to provide file IO and serial communication
functionality for the C# application.
Vertex Pharmaceuticals Inc, San Diego, CA, Software Architect & Consultant, 2001 - 2004
* Software architect and lead designer/programmer for 3rd generation early-phase drug discovery screening system.
* Designed and implemented a vendor-agnostic database schema accessed via a C++ COM middleware component which used ATL
consumer templates to access Oracle or SQL Server database instances using OLEDB.
* Analyzed system at an early stage for performance bottlenecks and modified the design of the database and the middleware
component to provide 200 times the performance of the legacy compound management system for the critical function of finding the
physical location of a set of compounds to be used for a screen.
* Designed two sets of middleware APIs, one for use by the robotic instruments controlled by programs written in Lab View and another
for use by scientific applications written in Java or C#
* Designed and implemented a communication scheme used by Java web applications to access the COM middleware functions via an
HTTP server.
cVideo Inc, San Diego, CA, Consultant, 2001 - 2002
* Designed and implemented a WDM video capture driver for video security applications running on Windows 2000/XP.
* Project completed concurrently with others, working nights and weekends.
Aurora Biosciences Inc, San Diego, CA, Consultant, 1998 - 2001
* Designed and implemented embedded DOS firmware in Borland C++ and X86 assembly for a fluid dispensing robot which
communicated with a Windows NT subsystem controller via a TCP/IP Ethernet interface.
* Took over the Microsoft C++/MFC dispenser subsystem controller software project and brought it to successful completion.
The subsystem controller communicates in real-time with an Oracle database.
* Developed requirements for software to reduce/visualize/QC data from a fluorescence reader.
* Designed and implemented fluorescence data reduction software and algorithms in a DLL using C++/MFC. The DLL was used by
the reader to process data in real-time. It also provided functionality for the visualization software.
* Designed and implemented software in Microsoft Visual C++/MFC to visualize/QC fluorescence data.
Fine Finish Sash and Door Inc, Orange, CA, Consultant, 1999 - 2001
* Developed an Excel/VBA field sales application that included signature capture, price list, order entry and audit trail functionality
with some logic in C++ in a VBA-callable DLL.
Nanometrics Inc, Milpitas, CA, Consultant, 1999 - 2001
* Designed and implemented a Windows NT kernel mode driver in C++ for Midac FTIR instruments.
* Modified the Compuware Driver Studio framework classes to fix a bug that prevented large common buffer DMA transfers
from working properly.
Midac Inc, Irvine, CA, Consultant, 1993 - 1999
* Designed and implemented Windows 9x (VxD) drivers for FTIR instruments with DMA and PCMCIA interfaces.
* Developed C++ DLLs with an extensive set of Visual Basic-callable mathematical functions.
* Designed and implemented an industry-leading non-linear quantitative gas analysis package.
Custom Quality Millwork, Inc, Garden Grove, CA, Consultant, 1991- 1995
* Designed and implemented a DOS-hosted MRP package for finish carpentry contractors.
Various Projects, Consultant, 1988 - 1995
* Educational game projects on PC under DOS and on Macintosh, programmed in C++.
* Developed embedded code in C++ and X86 assembly for decoding data from broadcast TV.
* Developed Order Entry and MRP software in MS Basic professional under DOS for Window/Door manufacturer.
Printronix, Inc, Irvine, CA, Staff Engineer, 1988 - 1990
* Developed symbol and barcode printing functions in 64180 assembler.
* Ported an RTOS (MTOS) for 680x0 processors to Printronics-designed computer boards.
* Wrote a floppy disk driver and boot loader for MTOS in 680x0 assembly language.
Various Projects, Consultant, 1982 - 1988
* Designed and implemented motion control software for a filament winding machine (8086/8087).
* Designed and implemented high-speed mathematical algorithm code for iteratively solving semiconductor
thin film parameters from reflectometer data. (Tylan Tyger Thin Film Analyzer.)
* Developed highly-optimized fixed point transcendental functions for digital flight control on Z8000.
* Designed and implemented servo control firmware in C for a 68010-based axis control board.
* Developed 6-axis motion control software on 8086/8087 for a microphone positioning system.
* Developed firmware for 6809-based intelligent I/O board with serial, parallel and floppy disk IO.
McDonnell Douglas Industrial Automation, Monrovia, CA, Computer Scientist, 1982 - 1990
* Conceived, designed and implemented a zero-lag thread cutting algorithm
* Designed and implemented interpolation/axis control software for 5-axis machine tools on Z8000.
* Designed and implemented multiple-precision high speed floating point arithmetic package.
* Designed and implemented a compression scheme for storing NC programs more efficiently.
EDUCATION
B.S., Applied Mathematics, California Institute of Technology
B.A., Physics and Mathematics, Pomona College
Member number:9584
Additional Contact information is available on the Information Page.
Software Contractors' Guild (www.scguild.com)
Copyright(c) 1995 - 2006 Daniel Hale and Software Contractors' Guild,
Post Office Box 257,Nottingham, NH USA 03290-0257