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