Objective
A senior-level software engineering or project management position in a
collaborative environment where I can use my education and experience in
software development, relational database design and administration,
science research, and project planning and management to make a positive
difference.
Technical Skills
- C programming, expert, 12 years experience
- Relational database logical and physical design, expert, 16 years
experience
- Python programming, expert, 8 years experience
- Unix software development, expert, 13 years experience
- TCP/IP network protocols, advanced, 8 years experience
- Perl programming, intermediate, 11 years experience
- Cryptographic communication, intermediate, 4 years experience
- PHP programming (including writing extensions using Zend), intermediate, 3 years experience
- Javascript programming (including XMLHttpRequest and JSON), intermediate, 3 years experience
- Software and database project management, intermediate, 2 years experience
- USGS ISIS, intermediate, 4 years experience
- NASA/JPL CSPICE, intermediate, 3 years experience
- Open Source contributor: co-author of aescrypt, primary author of
video games The Puzzler and Cosmic Assault. I have contributed patches to
several other packages, as well.
Experience
| 2/2008-present & 1/2002-1/2006 |
Mars Space Flight Facility, Arizona State
University, Tempe, Arizona |
|
(2/2008-present) Senior Mission Operations Software Engineer (2/2002-1/2006) Scientific Software Engineer |
|
Software design, development and testing for Mars Odyssey, Mars
Exploration Rovers, and Mars Reconnaissance Orbiter Missions.
- Interfaced ImageMagick to DaVinci data analysis language package,
to export multi-dimensional data sets as images or movies.
- Wrote software to unpack image data downloaded from spacecraft,
convert timing information, and store it in a MySQL database for later
retrieval.
- Developed a database schema and wrote a data query tool to extract
spacecraft image data based on orbital, experimental, areographic, and
observational parameters.
- Developed code to process geometric map projection of
hyperspectral images across multiple CPUs.
- Used the JPL/NAIF CSPICE software library to create database and
time conversion utilities.
- Wrote a specification to add distributed shared memory features
to davinci data analysis package.
- Developed interface programs to USGS ISIS package to streamline
and simplify image mosaicking process.
- Wrote a JNI-based wrapper around the JPL/NAIF SPICE library to
give Java programmers access to it.
- Wrote a GNOME Panel Applet to report true local solar time, solar
elevation angles, and solar longitude for the Mars Exploration Rover
missions.
- Developed a series of objects to create, edit, and format
Planetary Data System (PDS) labels and PDS history objects for use in a
Python framework.
|
| 1/2006-2/2008 |
McClatchy Company, Lowcountry Operations, Bluffton, South
Carolina |
|
Lead Software Engineer |
|
Software design development in Perl, Python, PHP, and Javascript for
internet, intranet, and newspaper production processes in support of
two daily newspapers, The Island
Packet and The Beaufort
Gazette.
- Designed and implemented a location based advertising/guide Drupal
module, using PHP, Javascript, Google Maps API, and AJAX methodology.
Publically accessible:
http://guide.islandpacket.com/
- Evaluated IT helpdesk solutions and deployed best choice
application (in this case OTRS) for use by company IT staff.
- Transited all development projects to use the Subversion revision control
tool.
- Deployed Drupal-based intranet for two newspapers.
- Designed and implemented a configurable workflow system to improve
efficiency.
- Wrote a library to get access to Active Directory entries from Perl,
PHP, and Python programs.
- Extended video player modules for Drupal CMS to accept newsroom and
reader contributed videos to be hosted on 3rd party vendor site but remain
integrated with our CMS.
|
6/2001-6/2003 |
Nimitz Technologies, Queen Creek, Arizona |
|
Lead Software Engineer |
|
Self employed, working on several embedded Linux
systems projects for Valley of the Sun clients.
- Developed conversion software and GTK-based GUI front end to make
Pertec 9-track format directories readable and exportable under
Linux.
- Made Linux 2.0.38 for ColdFire processors work correctly with
MS-DOS partition tables and the various FAT-based filesystems.
- Interfaced Pertec-to-SCSI emulation board to Linux system for
remote management and file access via web browsers.
|
| 8/2000-5/2001 |
Enhanced Software Technologies, Phoenix, Arizona |
|
Software Engineer |
|
Member of the BRUPro Implementation Team, EST's follow-on product to its
successful BRU Backup product. Successfully met all project milestones and
delivered a working product to quality assurance on time and under budget
on a repeated basis. BRU-Pro was recognized by Linux Journal as the Linux
Backup product of the Year for 2001.
- Designed and implemented software licensing mechanisms in C and
Python using RSA and MD5 to generate license keys.
- Integrated Rijndael encryption algorithm into aescrypt open source
cryptography package.
- Designed and implemented user interface for product web interface
using HTML and Javascript on the client side and Python on the server
side.
- Designed and implemented the BRU-Pro job scheduling subsystem.
Implemented numerous interfaces between application server,
database server, remote clients, and user front-ends in C, shell scripts,
and Python.
|
| 11/1999-8/2000 |
American Express, Phoenix, Arizona |
|
Database Administrator and Manager |
|
Contract position for American Express' International Risk and Fraud
Management Web Services group.
- Managed two Sybase Adaptive Servers running on a Sun E10000
running Solaris 7.
- Managed Microsoft SQL Servers running on Windows NT.
- Developed new logical and physical models for web-based international
portfolio performance econometric reporting for risk analysis and in-depth
global fraud recovery analysis.
- Responsible for database performance and tuning, data
access policies, and database security.
- Developed automated data loading procedures, using cron,
Makefiles, and shell and Perl scripts.
- Supervise and mentor data analysts.
- Assist web developers in query optimization, data access, and
security configuration.
|
| 3/1999-11/1999 |
Banner (Samaritan) Health System, Phoenix,
Arizona |
|
Programmer/Analyst II |
|
- Assisted deployment of a 12,000 user intranet to three hospitals
and numerous clinics in Arizona using Microsoft FrontPage, Visual
Interdev, and IIS as the development and deployment technologies.
- Responsible for NT system administration, Microsoft SQL Server
database administration, problem determination, and resource and capacity
planning.
|
| 8/1998-3/1999 |
Humana ChoiceCare Health Systems, Cincinnati, Ohio |
|
Systems and Database Administrator |
|
Contract position for Humana's Cincinnati ChoiceCare unit.
- Supported a data warehouse and datamart application running on
Sybase Adaptive Server on an HP/UX platform.
- Tuned and optimized databases, which enabled required Federal
reporting to be completed on-time, saving the company from paying
significant fines.
- Responsible for monthly warehouse loads and daily datamart loads,
OS and database upgrades, troubleshooting, and administration.
- Managed dedicated lpd print spooling system, running HP/UX.
Rendered assistance to users on optimizing queries and other
technical questions.
- Mentored other technical personnel on Unix systems, programming
and TCP/IP networking.
|
| 4/1995-8/1998 |
Miami University, Oxford, Ohio |
|
Software Engineer |
|
Technical lead in the porting of the DARS mainframe product to a
client/server architecture, using Unix as the server environment. The
Client/Server version opened up a new customer base to Miami University,
and resulted in nearly a $500,000 increase in licensing and support
revenue to the university in its first year. In addition, the
client/server version was recognized in the 1996 Infoworld Client/Server
Top 100 (53rd place) while still a beta product.
- In charge of design, implementation, and modifications to the DARS
application server, using C/SQL linked to legacy COBOL code.
- Managed, designed and maintained DARS web site, and online
documents until 1997.
- Project lead for web application development, deployment, and
support for the project.
- Technical lead during the analysis and design phases of the CAS
(Course Applicability System) project for Arizona and Ohio public
higher-education systems.
|
| 6/1994-4/1995 |
James River Corporation, Milford, Ohio |
|
Programmer/Analyst |
|
Maintenance design and coding for James River's package manufacturing
division.
|
|