bl4b94f4@westpost.net PRINCIPAL ENGINEER - Embedded Software Goal oriented software engineer with over 16 years of experience in various stag es of the software development life cycle, including design, implementation, doc umentation, testing and maintenance. Recent experience includes embedded systems development, management of software contractors and maintaining a code base use d by over 50 engineers. Product development is leveraged through effective lead ership and establishing processes that deliver cost effective and lasting soluti ons. Some recent accomplishments include: Developed embedded C code to enhance firmware packages used on hard disk drive p rograms. Enhanced interrupt service routines and low-level drivers used on hard disk driv e programs. Interfaced ARM System On a Chip (SOC) designs with low level drivers and interru pt service routines used on electronic board support packages. Designed, developed and implemented real-time (RTOS) firmware applications. Designed and developed communication interfaces for ARM, PowerPC and Intel micro controllers. Designed and coded firmware for machine vision and robotic systems. Designed and developed communication methods for RS232, RS422, USB, CAN and Ethe rnet interfaces. Development tools, technologies and methodologies: OOD, OOA, OOP, SQL, XML, desi gn patterns, Diab C++ compiler, Visual C++, C#, MFC, .NET, Verilog, American Ari um Emulator, SourcePoint, ARM Multi-ICE, ADS, GCC, G++, Eclipse IDE, CodeWright, Cygwin, Subversion, Visual Source Safe, CVS, Cruise Control, PC-lint, Coverity, ClearQuest, Micro C OS, ST Microconnect, Green Hills Software, Requisite Pro, C ommon Language Runtime, CodeCollaborator and PVCS. PROFESSIONAL EXPERIENCE WESTERN DIGITAL, INC., Lake Forest, CA 2007 - 2010 Principal Engineer, Servo Department Wrote embedded C code to interface ARM System On Chips (SOC) with peripheral dev ices used in hard drive electronics. Enhanced low level drivers and interrupt se rvice routines by accessing SOC and device hardware at the register level. Optim ized performance by removing non-essential code in critical sections and ensured that all critical sections of the code conformed to architectural requirements. Used trace emulators to detect and eliminate run-time coding defects. Wrote unit tests in C++ and Common Language Runtime to validate embedded C code enhancements for ARM SOCs. Tested firmware logic by embedding it in a test suite designed to expose its flaws. Fixed exposed flaws using defensive programming t echniques. Developed .NET applications to automate coding tasks. Provided software, software tools, scripts and build scripts to construct firmwa re used in all drive programs at Western Digital. Used key performance metrics, best software engineering practices, validation methodologies and development re quirements to maintain and enhance a code base used in over 50 drive programs. QMS, LLC, Irvine, CA 2007 Principal Engineer, Software Development (contract) Designed, developed and implemented a file download client using Microsoft's MFC framework. Download client displayed a progress bar and it notified the user wh en the download process was complete. It also notified the user if the download succeeded. Designed, developed and implemented a stand alone monitor application which used timer procedures to periodically search for a Windows application called EViews 6.exe and invoke an update patch if the EViews6 application was not up to date.
NDS AMERICAS, INC., Costa Mesa, CA 2005 - 2007
Principal Engineer, Engineering Managed a team consisting of over 20 software engineers that wrote embedded C co de for set top boxes: coding was done in embedded C for ARM, MIPS and ST Systems On a Chip (SOC). Received issue reports from project management and distributed each issue to team leads and software engineers who then resolved the issues. I mplemented fixes in all components and validated firmware changes using bit-stre am generators, emulator tools, unit tests and test scripts. Tracked the progress of each issue using ClearQuest. Conferred with team members to improve issue re solution process. Work performed by the team saved the company over $6,000,000. 00 USD per month. Used Cygwin and Linux to build firmware for set top boxes: the engineering team integrated the real time operating system (RTOS), drivers, user interface and mi ddleware to develop functional set top box applications. Supervised the developm ent of makefile scripts used to build the firmware. Supervised the release proce ss for all set top box firmware components developed at NDS. Supervised the validation process of driver code developed by the set top box ma nufacturers. Validated driver code using QC Tools test suite which tested compli ance with the set top box driver specifications. Developed and enhanced the QC T ools driver test suite for set top boxes: fixed coding defects and added feature s.
MTSI, Brea, CA 2004
Principal Software Engineer, Software Development (Contract) Designed an application to control excimer lasers used in the manufacturing of f lat panel displays. The application ran in the Fedora Linux operating system. Wr ote socket drivers, message queues and command dispatchers as part of a team of developers.
AMERICAN ARIUM, INC., Tustin, CA 2000 - 2004
Senior Software Engineer, Research and Development Wrote embedded C++ code to develop and enhance firmware used in trace emulator t ools. Code was written in C++ using the Diab compiler. Trace emulator hardware u sed Power PC SOC designs: MPC 850 and MPC855 and it used Intel Xscale IXP420 SOC design. Used an Agilent emulator to troubleshoot coding issues on firmware for MPC85x SOC. Used American Arium LC500 to troubleshoot issues on IXP420 SOC. The firmware application ran under the MQX real-time operating system (RTOS). Developed customized algorithms, which were used to process the information sent through the IEEE 1149.1 JTAG Test Access Port. Wrote register level code for an ARM SOC that controlled the transfer of programmable logic into Field-Programma ble Gate Arrays. Wrote Interrupt Service Routines to control how the ARM, Intel and XSCALE chipse ts communicated with the peripheral devices. Developed test applications that us ed the IEEE 1149.1 boundary scan architecture. Designed, developed and implement ed software for a Win32 based application (SourcePoint) using Microsoft Visual C ++ 6.0 and MFC.
INDUSTRIAL DYNAMICS COMPANY, LTD., Torrance, CA 1998 - 2000
Senior Software Design Engineer, Research and Development Developed feature sets for the Line Control Module (LCM) of the Empty Bottle Ins pector (EBI).
INDUSTRIAL DYNAMICS COMPANY, LTD. (Continued)
Implemented methods to detect bottle jams, to eliminate defective bottles and to detect spaces or 'gaps' between bottles.
PAST EXPERIENCE (mostly contract work)
HR TEXTRON, Santa Clarita, CA Software Engineer, Robotics Division (contract) Developed and implemented an embedded application for the Autonomous Robotic Aut omatic Re fueling system (AR2), which consisted of a host computer and seven Phi llips 8XC592 SOC.
VEECO PROCESS METROLOGY, Santa Barbara, CA
Software Engineer, Software Group (contract) Designed, developed and implemented new features for a Windows 3.1 application.
PACESETTER, INC., Sylmar, CA
Software Test Engineer, Software Quality Assurance Group (contract) Wrote test software in C for the Affinity pacemaker's firmware.
SIGHT SYSTEMS, INC., Newbury Park, CA
Software Engineer, Software Group (contract) Developed Windows applications for motion control systems.
WORD CHALLENGE, Oakland, CA
Consultant, Software Group (contract) Provided consulting services for a Windows PC game.
PULSE INSTRUMENTS, INC., Torrance, CA
Software Engineer, Software Group (contract) Developed software for automatic test equipment that monitored and controlled an optical test system.
JET PROPULSION LABORATORY, Pasadena, CA
Member of Technical Staff, Infrared and Analytical Instruments (full time) Planned, designed and built a thermal infrared calibration facility for remote s ensing instruments. Designed an optical lens system for the Lunar Orbital Visual Imaging Spectromete r (LOVIMS). Rewrote an application in Fortran 77 that determined chromatic aberrations in tr iplet lens systems. Designed and developed an application that modeled the trajectories of dust part icles. EDUCATION Master of Science Degree: Physics, California State University Northridge Bachelor of Science Degree: Physics, University of California Los Angeles