David Fugate

midnightdf AT yahoo DOT com

SUMMARY

Four years industry experience designing, implementing, profiling, and testing scientific software development kits. Specialized in distributed computing and messaging protocols. Most recent programming experience in C++, Java, and Python. Willing to relocate anywhere in the United States. US citizen.

EDUCATION

1998 - 2002
New Mexico Institute of Mining and Technology, Socorro, NM
B.S. in Computer Science
Cumulative GPA: 3.4/4.0

EMPLOYMENT HISTORY

2004 - Present
University of Calgary, Calgary, Alberta, Canada
Software Developer
* Write, test, and document C++, Java, and Python libraries to assist developers working on the Atacama Large Millimeter Array (ALMA). Majority of these involve extensive use of CORBA
* Responsible for the design, implementation, and maintenance of ALMA Common Software’s (ACS) generic object simulator
* Sole developer and maintainer of the ACS Python application programming interface
* Created a benchmarking framework for ALMA and periodically measure the performance of ALMA software
* Provide developers and end-users with support in a geographically distributed environment. This includes but is not limited to teaching courses for new ALMA employees as well as maintaining documentation
* Canadian point of contact for ACS
* Delivered three major releases of ACS
* Essentially a continuation of the scientific programmer position held at the National Radio Astronomy Observatory (see below)
                                                                                                                           
2002 - 2004
National Radio Astronomy Observatory, Socorro, NM
Scientific Programmer
* Responsible for the design, implementation, and maintenance of ACS’s distributed structured event system
* Wrote shell startup scripts used to bring ALMA software online
* Wrote device drivers and simulators for several parts of the ALMA Test Interferometer Control Software used to drive two prototype twelve meter radio antennas
* Created coding examples showing how to use ACS properly
* Build, bundle,  and distribute open source 3rd party software with ACS
* US Representative for ACS. Same general responsibilities and tasks as the software developer position held at the University of Calgary (see above)

2000 - 2002
National Radio Astronomy Observatory, Socorro, NM
PC Support Assistant
* Diagnosed and fixed PC problems
* Made recommendations for new PC hardware
* Wrote sections of the NRAO homepage
* Maintained a hardware and software inventory database on 300+ computers
* Wrote Perl scripts to get inventory information from Linux PCs
* Analyzed IP usage among several subnets within the NRAO domain

SKILLS

* PROGRAMMING LANGUAGES: C/C++, Python, Java, Bash, CORBA, IDL, Assembler (x86 and SPARC), XML/HTML, Lex, Yacc, Perl
* OPERATING SYSTEMS: Solaris, Linux, Windows, Mac OS X, VxWorks
* PROGRAMS: Eclipse, Doxygen, CVS, Maple, Matlab, Emacs, Microsoft Office, Visio, AutoCAD, VMware, XML Spy, etc.
* HARDWARE: Implemented various state machines on programmable logic arrays, setup and operated logic analyzers, built and maintained x86 systems

ADVANCED SKILLSET

* Expert at the Python, C++, and Java CORBA mappings
* Strong debugging skills
* Knowledge of testing processes and experience using automated testing frameworks
* Extensive work with the TAO, omniORB, and JacORB object request brokers
* Expert in distributed structured event systems
* Substantial experience with compilers
* Expert in simulated object frameworks
* Experience writing Linux Kernel Loadable Modules. Wrote a Linux device driver to control a 1.8 meter optical telescope
* Linux/Windows system administrator experience

CONFERENCE PROCEEDINGS AND PAPERS                                                                                                                
                                                                                                                  
2005, Montreal, Canada
ALMA Software
Presented a technical poster depicting the complete control flow of ALMA software at the annual meeting of the Canadian Astronomical Society

2004, Glasgow, UK
A CORBA Event System for ALMA Common Software
Presented a poster and wrote a paper on the distributed event delivery system I co-developed for ACS at the International Society for Optical Engineering (SPIE) meeting

2003
The ALMA Common Software: Status and Developments
Coauthored a paper discussing new application programming interfaces added to ACS at the 2003 ICALEPCS conference

INVITED TALKS

2005, Geneva, Switzerland
A Generic Software Interface Simulator for ALMA Common Software
Gave an oral presentation at the International Conference on Accelerator and Large Experimental Physics Control Systems (ICALEPCS) on the dynamic object implementation framework I developed for ALMA