THOMAS E. DALEY 1245 S 12th St Phone: (719) 352-5546 Canon City, CO 81212 e-mail: tom@tomdaley.org 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, 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/Xiotech, Colorado Springs, CO 2003 - Present Senior Staff Engineer Firmware design and development for X-IO 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. - Convert code base to be processor independent (32/64 bit, big/little endian) and allow code to run on desktop systems to speed development of new features and reduce time to port to new hardware platforms. - Enable firmware to run in a QEMU Linux KVM virtual machine. 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. 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. 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