107 Central Park Square #134
Los Alamos, NM 87544-4020
Phone: 505 662-5142
Email: ed@edsantiago.com
URL: http://www.edsantiago.com/
20 years professional software development, from low-level firmware to high-level tools; 14 years UNIX system administration experience. Strong automation and human factors skills. .
Redback Networks, an Ericsson company (San Jose, CA; telecommute from Los Alamos, NM)March 2008-Present
Software Engineer
Created software tools to help in daily build and development processes. Figured out, then documented and maintained, complex CVS mirroring system. Worked with teams throughout the company to integrate development environments from around the world.
Set up automated runs of Coverity Prevent, a software static analysis tool. Devised a framework for running on new branches as needed, and tools for extracting and analyzing results. Wrote tools to help developers check their code, and to report potential bugs in commits.
Improved build infrastructure. Eliminated dependency on individual build hosts, clearing up a source of much confusion. Created SQL database to track CVS commits. Wrote tools to integrate CVS with (separate) bug database.
Worked closely with IT team on system issues, fostering a rapid-response environment in which problems were prevented or, at worst, quickly fixed.
Alcatel-Lucent (Alameda, CA; telecommute from Los Alamos, NM)January 2001-March 2008
Toolsmith
Created, enhanced and maintained hundreds of Perl, C, and shell software tools used in engineering development environment. Tools ranged from user-visible to transparent; from daily simple operations to infrequent complex CVS merges; from command-line to web-based via CGI and mod_perl. Continuously monitored tool performance and mailing list chatter to refine and enhance existing tools and to discover what new tools were in need of inventing. Assisted in site system administration of Solaris and Linux hosts. Analyzed existing DNS setup for entire internal domain, created new framework for maintaining DNS with a simple hosts file and one config file. All named.conf and domain zone files are now generated and maintained automatically, with no need for humans or for maintaining duplicate data. Created new scheme for managing accounts, consolidating login, email, automount, and employee ID in one central file instead of four hand-maintained ones.
Created CGI interfaces to the Sybase defect and project tracking systems. Developed new web interfaces to existing data, creating simple ways to visualize complex datasets. Where possible, found automatic ways to hyperlink relationships between disparate (but related) databases. Designed graphs illustrating software branch relationships and activity, and developed ways to generate automatically and daily. Designed plots for monitoring defects/features. Created an entire tool suite for managing software review. Integrated with defect database, CVS repository, mailing lists. Set up tests to analyze diffs and catch common problems automatically.
Automated software build environment. Automated software release process, encoding complex decision trees into a simple web interface requiring just a few human decisions. Automated the build calendar. Automated the CVS branch creation process. Wrote tools for compile farm: Created client/server architecture for running user jobs but handling interrupts, exceptions, I/O, and local needs better than rsh/ssh. Learned SQL in order to work with existing Sybase environment. Wrote dozens of small tools and reusable modules to perform periodic maintenance and cross-checks. Eliminated most tasks that required human SQLing, by creating scripts for all common (and some uncommon) procedures. Designed and set up MySQL database for tracking feature requests; wrote new interfaces and tools for managing and updating those requests.
Investigated bugs in gcc cross-compilers. Investigated migration path to newer gcc. Created new SNMPv2 toolkit for handling MIB module maintenance.
Los Alamos National Laboratory,
Space and Atmospheric Sciences (Los Alamos,NM)May 1998-January 2001
Staff Member
Wrote C and IDL software for analyzing data from ACE, Ulysses, Lunar Prospector, Deep Space One, IMAGE, and Genesis space exploration missions. Updated and/or rewrote scientific software in order to make portable and add features. Automated all processing of incoming telemetry and data. Designed graphical plots of instrument data, and wrote software to generate these automatically. Developed simple interfaces to these routines. Created automated WWW interfaces to supply mission data to worldwide scientific community. Wrote code for performing statistical analyses of the solar wind. Created core set of reusable data analysis modules.
Created and published portable libraries for IMAGE mission data analysis, for performing coordinate transformations between physical frames of reference, and for interfacing IDL to SPICE (a JPL toolkit for providing spacecraft ephemeris). JPL now includes my system with their SPICE toolkit.
Hewlett-Packard (acquired Convex Computer Corp., December 1995)
(
Richardson, TX, on-site at Los Alamos National Laboratory
)July 1994-May 1998
System Administrator
Responsible for the maintenance and administration of a Convex C3240 system controlling a Metrum RSS600 tape jukebox. Developed tools to assist in its regular maintenance and auditing. Was also responsible for the operation of over one hundred mixed Linux, SunOS, Solaris, and IRIX workstations spread out over three physical networks. Acted as webmaster for internal and external servers.
Auspex Systems, Inc. (Santa Clara, CA)March 1992-June 1994
Software Engineer
Working in a team of four, ported the Auspex NetServer software to an AIX platform. Wrote tools to assist in source control and management. Wrote OpenBoot-based driver code used in bringup of new multifunction I/O processor board. Developed and maintained internal bug-tracking tools. Prototyped, set up and implemented Auspex's first WWW presence.
Digital Equipment Corp.
(Palo Alto, CA and Maynard, MA)May 1987-March 1992
Software Engineer
Designed, specified and prototyped new powerup/firmware environment. Designed and implemented set of tools for managing hardware design releases. Ported parts of OSF/1 kernel to new platform. Wrote tools for coworkers throughout the site. Wrote tools to manage my workstation, and acted as local Ultrix contact.
Knowledgeable (user & kernel level) in several flavours of UNIX (Linux, *BSD, Solaris, HP-UX, Ultrix, OSF/1), VAX/VMS and TOPS-20 operating systems. Currently exploring OS X. Fluent in HTTP/HTML/DHTML/AJAX/CGI development. Have done some X11 programming, but not recently. My xlbiffmade it onto the X11R6 contrib tape.
Languages: Compiled: Fluent in C. Once fluent in C++, MIPS assembly, VAX Macro, MACRO-20, Forth, Lisp, 6502 assembly. If pressed, will admit to having coded in Pascal, FORTRAN, APL and 3081 assembly. Minor Java.
Languages: Interpreted: Fluent in Perl, sh/bash, PostScript. Once fluent in IDL, lex/yacc, awk..
Languages: Other: Competent in SQL (Sybase and MySQL). Competent in SMIv2 and MIB management.
Code Management: Fluent in CVS, RCS, Mercurial, Subversion. Conversant with Git..
Fluent in English and Spanish. Rusty in ASL (American Sign Language) and German. Ekselent riten & verbul comunikashun skils, hampered by a stunningly inappropriate sense of comic timing.
Wrote order management system for local food Co-op. Invented countless process improvements. Member workload decreased significantly, and my system ran itself for four years. Volunteer with several local organizations.
Three Perl modules on CPAN: Device::LaCrosse::WS23xx, CGI::Alert (both original), and Net::NIS (took over maintenance; added new features).
Available upon request.
$Id: resume.xml 106:21cef1cadd81 2009-10-31 15:21 esm $