THOMAS E. DALEY 953 Forest Edge Rd. Phone: (719) 686-1791 Woodland Park, CO 80863-1231 e-mail: tom.daley@bigfoot.com SUMMARY A reliable, methodical software engineer with extensive experience developing complex systems. Major strengths include trouble-shooting and debugging in multi-processor environments. Specializes in operating systems, device drivers, C, and C++. A tenacious problem solver with excellent communication skills, who takes the initiative and focuses on results. TECHNICAL SKILLS Languages: C, C++, Java, Perl, shell script, Tcl/Tk, Pascal, Fortran, CAL, GMAP, Motorolla 680X0 assembly, Intel x86 assembly, Intel 8051/31 assembly. Hardware: Intel x86 PCs, Motorolla 680X0, PowerPC, MIPS, Cray YMP-EL, Honeywell Mainframe, IBM RS6000, Intel 8031/51 microcontrollers, Adaptec 78XX SCSI controller chipsets, NCR/Symbios 8XX SCSI controller chipsets, various custom hardware. Tools: LEX/YACC, Qt GUI library, Versant OODB, Orbix (CORBA), ONC/RPC, Berkley sockets, TCP/IP networking, STL, Makefiles. Operating Systems: Linux, VxWorks, StackOS, Solaris, UNICOS, CRUX, GCOS, MS-DOS. PROFESSIONAL EXPERIENCE Seagate, Colorado Springs, CO 2003 - 2007 Senior Staff Engineer Firmware design and development engineer for Seagate integrated storage element. - Port open source cross platform development toolset (compiler, assembler, linker, debugger) for Linux and Cygwin enviroments for PowerPC development. - Write code for Aristos Logic fibrechannel ASIC. The ASIC includes 10 processors (3 for fibrechannel interfaces, 3 for memory interfaces, and 4 general purpose processors). - Write Linux loadable module device drivers and make kernel changes for realtime operation. - Develop crash dump file format and code to dump ASIC state for analysis of system crashes. - Write code to read kernel memory and generate a core file for multi threaded programs. Pyramid Peak Design, Colorado Springs, CO 2002 - 2003 Software Engineer Contract work for ATI working with ATI Xilleon video processor using embedded MIPS CPU core, running Linux. - Write XFree86 driver for ATI Xilleon chipset and port XFree86 to work on the Xilleon solo environment. - Write code to use Xilleon DMA hardware to transfer data from system memory to PCI memory. - Develop and write utility code to display messages from embedded system to a graphics overlay for display. - Change Makefiles for ATI Component Library to use different toolchains for a conversion from Metrolink Linux to Monta Vista Linux. EMC, Colorado Springs, CO 1998 - 2001 Principal Software Engineer Responsible for NFS subsystem maintenance, SCSI disk subsystem maintenance, and device drivers for StackOS operating system. - Identified and resolved more than 10 major porting issues for two major storage subsystems resulting in strategic alliances with HP and IBM. - Saved at risk customer by redesigning hot-swap software to eliminate pre-existing flaws. Also attracted new customers by integrating newly developed hot-swap functionality into entire product line. - Analyzed and solved system lockup problem by designing debugging tools that allowed data to be gathered at interrupt level, saving hundreds of hours of debugging time company wide. - Developed interrupt sharing code to allow StackOS to run on hardware with integrated controllers. VSYS, Colorado Springs, CO 1996 - 1998 Senior Software Engineer Contract work at MCI, coding and testing of call processing software written in JAVA using Orbix Web. - Designed and coded LPS (Logical Provisioning System) network provisioning software written in C++ using Versant OODB and Orbix. - Developed ASTRO (Automated System Test RObot) network testing software to test unused circuits in the MCI network. MCI, Colorado Springs, CO 1993 - 1996 Senior Programmer II System administrator for all SNMS (SS7 Network Monitoring System) development and production IBM RS6000 systems. Application program development for SNMS. - Developed SNMS processes that can be dynamically updated while running resulting in the ability to change event parsing and alarm rules in days instead of months. - Developed automatic pager notification system to alert support personnel of production problems. - Implemented a backup process for the production system that required no human intervention. Cray Research, Colorado Springs, CO 1991 - 1992 Software Engineer Engineer in charge of developing software for the I/O subsystem of the Cray YMP-EL real-time system. Write UNIX device drivers for real-time I/O devices. - Developed and implemented interface and device driver software for interfacing a Cray YMP-EL to Applied Dynamics real-time station. - Wrote drivers for the Peritek VCF-V video board/X windows server. Converted Peritek daemon program to run on 64 bit machine. - Developed a remote system reset capability which eliminated the need for the staff to travel to the office to reset systems. Kaman Sciences, Colorado Springs, CO 1989 - 1991 Programmer Responsible for maintenance of the I/O subsystem software for the Space Surveillance Center of the Cheyenne Mountain Air Force Base. Honeywell, Colorado Springs, CO 1984 - 1989 Software Engineer Engineer in charge of solid state pressure sensor test area. Responsible for collection, storage, and presentation of all test data. Responsible for developing new test equipment and processes. EDUCATION M.S. Computer Science, Colorado Technical University Colo Spgs, CO B.S. Computer Science, Colorado Technical University Colo Spgs, CO A.S. Electronics, Wisconsin Indianhead Technical College Superior, WI