OBJECTIVE
Technological opportunity that promotes development of current and new skills in a leadership or individual contributor role.
SKILL SUMMARY
Creative Software/Hardware/Firmware Engineer with broad-based
experience, including extensive experience in embedded
microcontroller-based system software architecture/design,
team/technical leadership, multitasking embedded real-time systems,
device drivers, communication protocols, medical devices, multi-axis
robotic systems, electro-optic systems, control systems, safety systems,
automated test and measurement systems, client/server systems, advanced
web site development, on-chip ROM/bootloader development, ASIC SoC and
PCB bring-up and debug, API implementation, chip/board support package
development, hardware/software interaction, and use of logic analyzers
and oscilloscopes. Extensive experience in process-driven software
development. Excellent oral and written communications skills.
Exceptional system design and documentation skills.
DEVELOPMENT LANGUAGES/TOOLS/OPERATING SYSTEMS/TARGET PLATFORMS/COMMUNICATION PROTOCOLS
|
|
|
|
|
PROFESSIONAL EXPERIENCE
04/2012 - Present - Abbott Diagnostics, Irving, TX
Principal Engineer - New Product Development
Firmware development for Cortex M4 controller boards.
01/2011 - 04/2012 - Avnet, Inc., McKinney, TX
Team Lead - Software Application Engineering
Bridging the software engineering knowledge gap between semiconductor
suppliers, FAEs, and customers. Focused on Embedded ARM/Linux on
Freescale, TI, Marvell, and Atmel processors.
12/08 - 01/2011 - Coherent Logix, Inc., Austin, TX
Senior System Software Engineer
Developing embedded Linux servers and command-line & GUI clients for
JTAG-like debugger probe based on iMX31 (ARM11) processor using C, C++,
and Java. System software architecture for Software Defined Radio (SDR)
development platform for Coherent Logix's massively-parallel DSP
architecture. Created PHP scripts to generate register access data
structures and C source code enabling registers to be read by name from a
command interpreter. Responsible for low-level hardware access
functionality for diagnostic application, as well as components of an
API library. Developed C++ client/server socket classes, SPI Flash
progromming utility, C# client to test server connect/disconnects, .elf
file parser/loader that loads code/data into 100 DSPs and 121 memory
banks via JTAG interface, and a compressed bootloader and command
interpreter for Space Station radiation experiment/test system.
06/08 - 12/08 - Qualcomm, Austin, TX
Staff Engineer
C/C++ Library devleopment for VLIW DSP. Created Python scripts to
populate multilib libraries. Ported various open source libraries to
VLIW DSP.
10/06 - 06/08 - Alereon, Inc., Austin, TX
Senior Software Engineer
Developed software for Ultra-Wideband (UWB) SoC for the WiMedia and
Wireless USB (WUSB) market. Responsible for on-chip ROM bootloader
development for ARM968-based SoC, including WHCI
protocol (over PCI Epxress), USB High Speed Device and SPI interface
driver development, ROM Monitor over RS232, and SPI flash boot manager,
using ARM assembly and C. Responsible for ROM RTL simulation creation,
execution, and acceptance testing. Created web-based tools to
auto-generate register access definitions (header files, html files, and
debugger files) using PHP scripts.
7/04 - 10/06 - SigmaTel, Inc., Austin, TX
Senior Embedded SW Application Engineer
Responsible for development and support of a Linux board support package
and corresponding web site, and an OS-less chip support package for
SigmaTel's ARM926-based STMP36xx multimedia SoC. Responsible for kernel
configuration, cross tool chain and root filesystem creation,
bootloader development, debugger hardware evaluation and selection, and
device driver development for audio input, audio output, and
low-resolution ADC devices. Responsible for support of international
customers, partners, and design houses.
Senior System Software Engineer
Designed and developed ROM startup code for STMP3XXX using ARM assembly and GHS Multi. Developed validation test code for Realtime Clock and UART blocks STMP3600
SoC. Provided demonstrations and training to SigmaTel-Korea
Application Engineers and several key customers. Ported 100+ validation
test cases to the GHS environment for initial STMP3600 chip bring-up.
Designed and developed External Memory Interface (EMI) Hardware API for
STMP3600 SDK.
8/01 - 7/04 - Emerson Process Management, Inc., Austin, TX
Principal Software Engineer
Lead Engineer responsible for the concept, specification, design and
development of the peer-to-peer communication subsystem for a safety-certified multi-processor industrial control system utilizing the Motorola MPC866 processor, Green Hills INTEGRITY RTOS, C/C++, and Rhapsody UML. Conceived remote peer communication system
using Ethernet protocol over fiber, which enabled 32 interconnected
backplanes, each with up to 32 local peer bus controllers. Responsible
for the evaluation of tool chains (compiler, linker, debugger, and OS),
board startup and debug activities, and HDLC device driver development.
Responsible for design and development of a deterministic time division
multiplexing (TDM) protocol for sharing the serial communication bus.
Designed and developed startup and run-time synchronization algorithms
allowing 32 devices to broadcast every 50 ms.
3/99 - Present Owner - Domain-Zone.com, Southlake, TX
Responsible for all aspects of company
creation and management, including business, financial, and marketing
plans, technical implementation, and customer support. Successfully
built business to 350 web hosting customers.
Domain Registration Project
Developed domain registration service to complement web hosting service. Successfully built customer base to include over 12,000 registered domain names.
Web Hosting Project
Responsible for configuration of Linux Web Servers, including Apache,
Sendmail, Bind, Proftpd, MySQL, and PHP for use in a virtual web hosting
environment. Developed multi-process, Web-based Control Panel (using C,
PHP, bash scripts, IPC) for managing individual virtual domains.
Developed POP3 daemon server (using C and TCP/IP) to support mail
retrieval from email accounts associated with each virtual domain.
Developed web-based account management and billing system using PHP and
MySQL. Responsible for direct customer
interaction and support.
5/95 - 1/00 Owner/Consultant - Software Insight, Inc., Southlake, TX
Simulation Project
Developed GUI for medical instrument simulator using Visual C++ and Rational Rose UML.
Temperature Controller Project
Lead Engineer responsible for development of embedded real-time
temperature control system using the TMS320C203 DSP, TI's C Compiler and
Debugger, and Code Composer. The system featured 32 channels of
control, downloadable flash, dynamic memory re-mapping, ASCII RS232
command interface, programmable control parameters, PID control
algorithm, and alarm generation. Developed Windows flash loader using
Borland C++ Builder.
Device Driver Project
Responsible for development of 68360/pSOS device drivers, using C programming language, for assorted devices used in medical diagnostic products,
including RS232 and RS485 barcode readers, RS232 temperature
controller, ISA Bus liquid sense board and pressure monitoring boards.
Designed FPGA to interface between the PC parallel port and the BDM port
of the 68360 using Altera tools.
CPU Diagnostics Project
Responsible for initial bring-up and debug of Motorola MPC860 and 68360
communication processor boards. Developed internal and external
resource initialization sequence. Developed boot-up diagnostics to test
internal SRAM and external Flash and SDRAM, internal and external
communication hardware, including UARTs, SPI, I2C, Ethernet devices, and
digital IO interface FPGA, using assembly and C programming languages.
Prototype Medical Instrument Project
Lead Engineer responsible for developing a PC-based medical instrument
prototype, including requirements analysis, design, coding, and support.
System software activities included device drivers for OMS motor
indexer, Intel's 8254 counter timer, 8255 programmable peripheral
interface, a 4 channel 16550 asynchronous communications controller, and
a custom dual-wavelength optical measurement system. Defined and
implemented command language interface (CLI) to allow users to
manipulate the prototype's robotics and measurement systems. Designed
and developed Windows GUI interface to allow users to create and execute
CLI scripts.
12/94 - 5/95 Consultant - Burlington Northern Railroad, Ft Worth, TX
Responsible for the configuration of High Availability Cluster
Multi-Processing (HACMP) software and system administration for AIX
RS/6000 cluster. Performed system administration function including
custom korn shell script programming. Designed and developed Motif-based
file manager and source code editor using C++/AIX. Designed and
developed error handling classes for client/server communication system
using C++/AIX.
9/94 - 12/94 Consultant - Bell Northern Research, Richardson, TX
Responsible for call processing software requirements analysis for CDMA
project using Northern Telecom's DMS-MTX cellular switching system.
2/94 - 9/94 Lead Analyst - Sprint, Irving, TX
Lead Engineer responsible for switch interface improvement project,
including development of machine-machine interface specification and
prototype for DMS-250 telephone switching system. Created architecture
for UNIX workstation development/production environments. Gained broad
understanding of telephony concepts and communication protocols
(Ethernet and TCP/IP).
1/87 - 2/94 Senior Software Engineer - Abbott Laboratories, Irving, TX
Factory Automation Project
Lead Engineer responsible for design and development of automated test equipment for medical diagnostic instruments,
both at the instrument and subassembly levels. Led group from concept
through delivery and support, including responsibility for initial
concept, selection of hardware platform and software development tools,
feasibility analysis/simulations, software development plan, project
schedules, cost estimates, design, coding, testing, executive
presentations, hardware/software procurement, software release
management, validation, and factory support. Managed $500K project
budget. The test stations were based upon networked HP9000/7xx
workstations, with software being developed using C, C++, HP-UX,
X-Windows/Motif, TCP/IP. Designed and developed Motif-based GUI,
inter-process communications, statistical process control charts, RS232
communications, ASTM packet-based communication protocol, instrument
test routines, stepper motor indexer interface, and terminal emulator.
Reliability Project
Lead Engineer responsible for design and development of reliability test
and data acquisition systems for electro-optical and multi-axis robotic
systems. Systems included real-time control software, GUI class
library, icon editor, RS232 serial communications, device drivers for
digital I/O board, motor indexer board, touch screen using C++
programming language.
Test Station Project
Responsible for design and development of medical instrument test
systems including control and data collection software for robotic and
electro-optical subsystems used in medical diagnostic instruments.
Software was developed using the C programming language. Responsible
for entire project from concept through delivery and support. The test
stations were based upon stand-alone PCs utilizing touch screen, mouse,
barcode wand, GPIB interface to voltmeter, photometer, high voltage
power supply, and digital/ analog I/O modules. Developed custom optical
system and interface circuitry for programmable lamp, thermo-electric
cooler servos, lamp and solenoid control/drive, transconductance
amplifiers.
Other Activities
Redesigned micro-stepping motor driver board for the IMx immunoassay
instrument. Designed motor controller/driver board for various
assembly/test fixtures. Performed general electrical engineering duties
in a sustaining environment.
6/86 - 1/87 Junior Electrical Engineer - Quest Medical, Carrollton, TX
Designed IV pump power supply test fixture.
10/84 - 5/85 Electronic Engineering Technician - Mostek, Carrollton, TX
Troubleshoot/repair lasers, memory testers, auto-probers, and wafer handlers.
EDUCATION:
University of Texas at Dallas, Richardson, TX
Bachelor of Science in Computer Science, 1991
Iowa State University, Ames, IA
Undergraduate studies in Electrical Engineering
Hawkeye Institute of Technology, Waterloo, IA
Associate of Applied Science in Electronic Engineering Technology, 1984
PROFESSIONAL REFERENCES: (available upon request)
Dec, 2013