RESUME OF STEVEN LEIPHART 1385 Morgantown Road Morgantown PA 19543 610-286-4816 610-316-5271 (Cell Phone) Steven@Leiphart.com www.Leiphart.com OBJECTIVE Expert embedded systems software / firmware developer with 20+ years professional experience. My development knowledge spans various MIPS compatibles, StrongARM, i960, 8051, and x86 in C, C++, and Assembly. Experienced with development on VxWorks RTOS, Windows, plus proprietary Kernels and running "on the metal". Implemented software interface to many circuitry components and can interpret schematic diagrams. Significant VB and DB experience as well. PROFESSIONAL EXPERIENCE Clinical Analysis Corp, Quakertown PA Embedded Software Developer (8/03 - present) Developing embedded software to operate Clinical's Bio-Chem™ Analyzer hand-held Point-Of-Care blood testing instrument. This work for the StrongArm microprocessor is in C/C++ on Wind River’s VxWorks RTOS and interfaces to pump servo motors and switches, color display, membrane keypad, barcode scanner, thermal printer, RS232 serial communications and a 10BaseT Network socket interface. Analysis is performed via patented and proprietary electro-chemical methods utilizing interfaces to Analog-to-Digital converters, digital potentiometers, FLASH memory devices, and thermal sensors. DSR Enterprises, Honey Brook PA Software Developer (5/03 – 10/04) Upgrading multi-user Visual Basic 6 database application from VB 3 DAO to VB 6 ADO and increasing functionality to include secure network access and enhanced features. The application is a database front end to manage enterprise wide electrical panels and circuit identification. Includes preventive maintenance scheduling and tracking. Reports are provided via Crystal Reports. Full context sensitive help is supported and incorporates on-line automated web software updates. Laserdome, Lancaster PA Software Developer (12/02 - present) Developed a multi-user membership registration and tracking system which manages parties and captures marketing data for a new Laser Tag and Arcade franchise business. Multiple user accessible kiosks accept and validate member registration data and store it in a common Access 2000 database. Party scheduling and management, as well as team queuing to the Lasertron arena game computer, is provided by the "Front Desk" application. System incorporates automated digital imaging and bar-coded ID card printing and scanning. Development is in VB 6 with MS Access 2000 database. InfiniCon Systems, King of Prussia PA Embedded Software Developer (02/01 - 11/02) Performed software development in C/C++ for multiple embedded MIPS based processors to manage leading edge InfiniBand products. Code runs on VxWorks on various high-end MIPS compatible processors. My work involved providing the low level messaging transport support for communications between the various intelligent components of the product. In addition to this, my responsibilities included designing and implementing the hardware interface for all InfiniBand architected hardware management components. This code monitors and provides upper layer software access to serial EEPROMs, temperature sensors, module power and reset control, and fan and power supply management. My work included aiding the hardware engineering team in initial bring-up, testing, and debug of new hardware and adapting our software to various hardware feature enhancements as they are incorporated. Also developed a manufacturing support application to manage and program the serial numbers into various electronic components. System scanned barcode stickers on the equipment and then created the appropriate serial EEPROM records which were passed via a TCP UDP socket to other code embedded in the devices which I developed to program the EEPROM devices. This program supported various read/write/verify operations on the EEPROM devices and maintained an Access database of serial number allocation. Coding for this mini-project performed in VB6/Access for the PC and 'gnu' C/C++ on VxWorks for the embedded side. Prosigns, Downingtown PA Software Developer (02/00 - 02/01) Developed multi-user graphical VB 6 application and integrated MS Access 97 Database to provide preliminary engineering data, materials lists, and shop and installation time estimates for the construction and sale of large scale signs. This application tracks the project from the estimate and proposal stage through scheduling the job in the shop and the installation at the customer's site. Work orders are printed with bar codes the shop employees use to scan in and out of jobs and time sheets are printed. The estimating process includes inventory control and payment tracking plus many customizable reports. The estimator ran off a large decision tree matrix which walked the user through the logical thought process of designing a sign. theSTC.com, Philadelphia PA Software Developer (2000) Team member developing web server support for eCommerce sales and use tax calculations. Code in VC++ running against MS SiteServer and SQLServer. Networth Technologies, Plymouth Meeting PA Software Developer (2000) Developed Novell Netware device drivers for two Gigabit Ethernet Network Interface Cards along with hardware diagnostic utilities. Involved some reverse engineering of previous work. Code in C on Netware Developers Kit. Unisys, Paoli PA Embedded Software Developer (05/97 - 12/99) Team member developing embedded software for a high performance Dual-Port Fibre Channel 64-bit PCI controller. Project utilized Wind River's I2O VxWorks Tornado development system and both Intel StrongArm and RM7000 MIPS processors. The Fibre Channel controller was the Agilent Tachyon TL. This card provided unmatched IO performance in Unisys' high-end E series servers. My work involved all the software running on the StrongArm processor which controlled the Tachyon Fibre Channel disk management. This included the interrupt handling, IO request and response queues, flow control, error detection and recovery, upper level API, and communication between the StrongArm and the MIPS processors across a PCI bus. C/C++ Object Oriented Design was done with Rational Rose. Commonwealth Land Title, Philadelphia PA Software Developer (08/96 - 05/97) Team member developing major title insurance office automation suite in Visual C++ operating against an MS SQL Server database. Work entailed Windows API and MFC manipulation of GUI screens, forms, and SQL Server database access. Unisys, Paoli PA Embedded Software Developer (1992 - 1994) Contract team member developing a new master processor upgrade board for CP2000 multiprocessor communication concentrator. Developed C/C++ and Assembly code to provide OS Kernel services including process scheduling, memory management, hardware management, and shared memory communication with other intelligent boards in the chassis. Also designed and implemented support of low level SCSI file subsystem including system disk booting and modem dial-in/out for remote support. Unisys, Paoli PA Manager - Embedded Kernel Development (1981 - 1991) Advanced from systems programmer out of college to manager of my group developing Kernel and extended OS support for the CP2000 multi-processor data communications concentrator. Coding was in Pascal, C, and x86 Assembly language. Coding responsibilities included supporting the entire Kernel supplying inter-processor and inter-process communication, multi-processor shared memory management, system wide interrupt processing, and the hardware interface layer. Approximately half my coding was in x86 Assembly code. Managed groups of up to twelve programmers. Provided mentoring to many junior programmers and training classes for up to 40 users on the systems I/we developed both live and on video. EDUCATION Villanova University, Villanova PA 1984 Master of Science in Computer Science, GPA : 3.89, MSCS with focus on Operating Systems and Digital Electronics. Millersville University, Millersville PA 1981 Bachelor of Science in Computer Science, GPA : 3.6/CS:4.0, BSCS with focus on Operating Systems and Digital Electronics. US Air Force, Denver CO 1979 Special Electronics Technician 52 week training course in electronics and seismic data analysis. Included extensive hardware troubleshooting, defect analysis, and repair skills training. SKILLS Exceptionally skilled in the design, implementation, and debugging of the hardware interface in embedded systems. Can effectively develop and debug code using Software Debugger, In-Circuit Emulator, Logic Analyzer, Storage Scope, or even a simple blinking LED. Enjoy developing systems that satisfy the client's needs and have remarkable ability to foresee design potholes before driving into them. PERSONAL Extremely versatile and creative. Tend to think outside-the-box and at times off-the-wall. 8-) Will stick with a difficult task until it succeeds. Enjoy photography and the great outdoors. Just finished hiking the 230 mile Pennsylvania section of the Appalachian Trail with my two daughters! Middle school youth leader and member of the elder board at my church. Play bass on my church's worship team. Active volunteer at my daughters' school. KEYWORD SUMMARY Embedded Software Development Testing Debugging VxWorks RTOS C C++ Assembly Kernel