Resume of Software Engineer / Architect




Title
Software Engineer / Architect

Primary Skills
C/C++, Windows, embedded, BSP, hardware, drivers, networking, storage, Win32

Location
US-WA-Bellevue

Posted
Jul-12-08

RESUME DETAILS
SUMMARY:
• 15 years of hands-on C/C++ software development experience, in embedded real-time multitasking software, device drivers, Board Support Packages (BSP), network & communication protocols, storage & file systems, hardware bring-up, middleware, Win32, and kernel mode.
• 10+ years experience providing engineering management, project management, and technical leadership for software development teams of up to 30+ through all stages of software development life cycle.
• Experience with on-time development of complex products with critical resource constraints.
• Experience in shipping numerous high volume products, including: the Windows CE OS, Windows Mobile, Smart Phone, Pocket PC, Windows Automotive, Windows XP, etc.

EXPERIENCE:
Sr. Lead Software Design Engineer Microsoft Corporation, Redmond, WA
3/2006 -- present Automotive Business Unit

Software Engineering Manager for Microsoft Auto (MA) a high reliability telematics platform based on Windows CE. Develop and lead a team of 10 Software Design Engineers, on multiple concurrent projects, in the design and development of real-time embedded devices, reference platforms, BSP, device drivers, file systems, wireless networking, and in-vehicle networking products.

• Manage all aspects of Software Engineering owning the architecture, specification, design, implementation, verification, defect management, and maintenance.
• Plan, create, and execute the development schedule for on-time product delivery by managing project assignments, timelines, resources, dependencies and risks. Manage international outsourced development teams. Provide direct hands-on contributions to development as needed.
• Recruit, hire/fire, motivate, mentor, and career development of world-class software engineering team. Evaluate and deliver performance reviews, promotions, merit increases, and bonuses.
• Establish process, procedures, policies, and best practices for software design and development, project management, specification, and release.
• Provide leadership to ensure clarity between ongoing parallel projects and strategic objectives.
• Communicate with world-wide customers, partners, outsourcing, executive management, company-wide domain experts, and cross functional teams.
• Support RFI, RFQ, and SOW development, time and cost estimates, and budget.
• Shipped MA v2.0 in Ford, Lincoln, and Mercury car models branded as Ford SYNC.
• Shipped MA v3.0 globally, as a generic software platform supporting three distinct hardware reference designs (Freescale iMX31, TI TMS320DRA44x, and Renesas SH7785).

Sr. Software Design Engineer Microsoft Corporation, Redmond, WA
3/2005 -- 3/2006 Automotive Business Unit

Technical Lead and Architect for the Microsoft Auto product development group, off-loading the Development Manager, for 4 Lead Design Engineers and 30+ Software Design Engineers.

• Work with software and hardware development teams to review and improve existing product architectures, performance, reliability, and development processes.
• Research and develop next generation software and hardware architectures; choose hardware components; create system prototypes as needed. Technology includes Multi-zone Audio, IEEE 1394, Media Oriented Systems Transport (MOST - multimedia network over optical fiber), Local Interconnect Network (LIN), and Bluetooth.
• Researched, designed, documented, and prototyped a real-time Inter-Processor Communications (IPC) network stack to interface next generation platforms to a remote microcontroller's in-vehicle networking stack and services. Earned internal and external customer acceptance. Evangelize to software development, PM, and QA teams for implementation and test. Multiple patents pending.
• Lead teams of 4-6 Engineers and outsourced development teams for rapid development of next generation platforms for multiple customer prototypes, proof of concept, and demos.
• Most prototype work has been successfully integrated into mainline products.

Sr. Software Design Engineer Microsoft Corporation, Redmond, WA
2/2004 -- 3/2005 Automotive Business Unit

Technical Lead and Architect for the Microsoft Auto (MA) v1.0 real-time embedded in-vehicle networking stacks, including Controller Area Network (CAN) and K-Line. MA is based on Windows CE; hardware platform is based on the Samsung S3C2440 (ARM9) with FPGA.

• Build and lead a team of 4 Software Design Engineers over v1.0 product life cycle; project management, drive product quality, promote best practices, mentor, etc.
• Technical lead and mentor for wider team of 10 Software Design Engineers.
• Drive the architecture, design, specification, schedule, and implementation of in-vehicle networking protocols for: ISO9141, ISO11519, ISO11898, ISO14229, ISO14230, ISO15765, Network Management (OSEK), Signal / Interaction Layer (OSEK), On-Board Diagnostics (OBD II), KWP2000, and other protocols, services, and API on MA platforms.
• Developed NDIS miniport driver for Phillips SJA1000 CAN controllers and TJA1050/54 transceivers.
• Developed NDIS intermediate drivers for vehicle specific CAN Network Management.
• Developed NT driver emulation layer for transport protocols under Windows CE. This enables NT?CE porting of kernel-mode compatible transport protocols, and serves as the framework for all MA protocol work.
• Developed DirectCAN (raw) transport protocol using the NT emulation layer.
• Developed WinSock Transport Service Provider for DirectCAN protocol, to enable raw sockets on CAN.
• Developed WinSock Transport Service Provider for Diagnostics protocols ISO14229, ISO15756, and ISO14230.
• Developed API for MA's Signal / Interaction Layer implementation.
• Developed MA Power Manager, which defines system-wide power state machine and policy.
• Assist with design and implementation of S3C2440 BSP, OAL/HAL, device drivers, file systems, and boot loaders.
• MA v1.0 ships in Fiat and Alfa Romeo car models, branded as Fiat Blue&Me.

Sr. Software Design Engineer Microsoft Corporation, Redmond, WA
9/2001 -- 2/2004 Sales Division, OEM Solution Center

Technical Lead and mentor for 6 engineers for the development of Windows Mobile design-in solutions, for internal & external customer projects. Drive project requirements, software architecture, specifications, project management, implementation, and verification; customer liaison; mentor for 20+ international OEM Solution Center Software Design Engineers.

• Presented training to 200+ Samsung engineers and management in Seoul and Gumi Korea on “Win CE Power Management”, and “Win CE Device Driver Development Best Practices”.
• Developed Power Profiling Architecture, to measure power consumption of Win CE devices. This relates to prolonging battery life in DC powered devices, and to profile the power consumption of executing instructions on the target device. 1 EU Patent received on this architecture.
• Developed Win CE 4.2 BSP for MS-Hardware Division's Residential Gateway/Wireless AP products. This included a NOR flash boot loader with GZ compression, OAL/HAL, and PCI backplane, on a Broadcom MIPS32 platform (BCM4710). Ships in MS Wireless Base Station MN-700 and MN-740.
• Developed Win CE 3.0/4.2 BSP for MS-Mobile Device Division's (MDD) low-cost Pocket PC reference platform (Catfish) with Samsung S3C2410 ARM9T core. This included: boot loaders, NAND flash, Binary File System (BINFS), OAL/HAL, I2C bus, Phillips PCF50606 power controller, USB Charger, battery, serial, IrDA, & USB Sync drivers. This BSP serves as the code-base for customers developing either a low cost Pocket PC or a BINFS solution. The HP iPAQ 1935 and 1945 Pocket PC used this BSP as reference.
• Developed Win CE 4.2 drivers for OMAP 1610 on MDD's (SquarePants) Pocket PC reference platform. This included I2C bus, Touch, ?Wire, and battery drivers.
• Developed Win CE 3.0/4.1 Ethernet and NOR/NAND flash boot loader for StrongARM SA1110 on MDD's (Hornet) Smart Phone reference platform.
• Developed Win CE 3.0/4.1 Ethernet and NOR flash boot loader for Intel XScale on MDD's (Trango) Pocket PC / Smart Phone reference platform.
• Developed Win CE 3.0/4.1 BSP for Texas Instruments OMAP 1510 & 710 Pocket PC / Smart Phone platforms. This included boot loader, OAL/HAL, serial, IrDA, & USB function drivers.
• Developed Win CE 3.0 IrDA driver for Sendo Corp, on TI's OMAP 710 Smart Phone product.

Software Design Engineer Microsoft Corporation, Redmond, WA
4/1999 - 9/2001 Windows CE - Core OS, Kernel and Drivers Group

Drive project specifications, schedule, design, and implementation of embedded systems software for the Windows CE operating system, versions 3.0 and 4.0.

• Developed the Windows CE Power Manager Architecture and API. This open-architecture feature implements system-wide power management and impacts all Win CE components including the OAL/HAL, device drivers, middleware, and applications. 2 US Patents received on this architecture. Ships in CE 4.0 and later.
• Developed Win CE BSP for SH4 and SA1100 NMI reference platform. This is a ?Engine (swappable CPU modules with FPGA) based platform with PCI, VGA, PS2, Serial, and Parallel.
• Developed Win CE Remote-NDIS (RNDIS) host network stack. This stack enables USB devices supporting the MS RNDIS spec to be seamlessly integrated into the system as a removable Ethernet NIC. Ships in CE 4.0 and later.
• Developed Win CE USB Mass Storage driver stack. This stack enables Class 2, 4, and 6 compliant USB storage devices: pen & hard-drives, SCSI, ATAPI, CD-ROM, Zip drives, ATA Flash, Smart-Media, floppy, etc. Ships in CE 4.0 and later.
• Developed Win CE USB Printer Class driver. Ships in CE 4.0 and later.
• Developed WDM compatible runtime environment for migrating desktop WDM drivers onto Win CE platforms. This is similar to the NTKERN component in Win 98. The main objective was to leverage the desktop's WDM 1394 stack onto CE. Ported Win 2000's 1394 OHCI Bus/Port drivers into the CE WDM environment. Wrote 1394 client drivers, WDM test drivers, etc. Ships in CE 3.0 and later.
• Developed Win 98/2000/XP desktop USB ActiveSync driver. This WDM driver is used to synchronize a Windows Mobile device to the Windows desktop over a USB connection. 1 Patent application applied for on this architecture. Ships in Windows XP and ActiveSync 3.1 and later.
• Rewrote the Windows NT/XP PPSHELL.SYS desktop driver. This is a WDM parallel port client driver used to update firmware on FPGA devices (e.g. ODO), and as a debug transport from the development workstation. Ships in Platform Builder 4.0 and later.

Support Engineer Microsoft Corporation, Redmond, WA
2/95 - 4/99 Windows NT DDK, Developer Support

Technical Lead and mentor for 6 engineers for the Windows NT/2000 Device Driver Kit (DDK). Provide developer support and consulting services to premier OEM/IHV customers. Developed sample drivers as content in the DDK and web; wrote technical articles for MSDN and MS-Knowledge Base. Specialized in networking (NDIS, Ethernet, TCP/IP, UDP, DHCP, BOOTP, etc), general kernel-mode, WDM, and storage drivers. Familiar with WHQL. Developed numerous Win NT/2000 kernel-mode drivers including:
• 1394 Client driver for custom high speed, high resolution camera
• USB Client driver for custom Flash storage in color printer device
• NDIS 3.0/4.0 miniports and intermediate drivers
• SCSI miniports and filter drivers
• Data acquisition adapters
• Video miniports and Printer drivers

Software Design Engineer Eaton Corporation, Columbus, Ohio
3/1994 - 2/1995 Industrial Data Technologies

Technical leadership, project management, and mentor for 4 engineers, on real-time embedded networking stacks. Drive project specifications, schedule, design, and implementation of networking stacks to interconnect industrial workstations, Programmable Logic Controllers (PLC), and Human-Machine Interfaces (HMI) on control and automation networks. Develop proprietary transport protocol drivers and network interface card drivers in C, for Motorola 68000, on UNIX (Solaris) and embedded OS-9. Write technical specifications to ISO-90001 standards. Ships in Panel-Mate industrial workstations.

Software Design Engineer Mustang Dynamometer, Twinsburg, Ohio
6/1993 - 3/1994

Designed and developed real-time control software for dynamometer systems and automotive emissions testing systems. This includes serial protocols, data acquisition, motion control, diagnostics, event logging, and HMI software. All software written in C/C++ under DOS, Win 3.1, Windows NT 3.1.


EDUCATION:
6/1993 Bachelor of Electrical Engineering, Computer Science minor
Cleveland State University, Cleveland, Ohio

PATENTS:
• US 7055046 - Power management architecture for defining component power states...
• US 7065659 - Power management architecture for defining component power states?
• EP 1494110 -- Power profiling

ADDITIONAL SKILLS:
MS Office, Project, Visio, Source control / bug tracking systems, C/C++, ASM, Platform Builder, Visual Studio, Kernel Debuggers, JTAG, oscilloscopes, bus analyzers, protocol analyzers, CANoe, reads schematics, etc.

MILITARY:
3/1986 - 3/1988 U.S. Army, 101st Airborne Division, 311th Military Intelligence Battalion,
Good Conduct Medal, 2 Army Achievement Medals, Honorable Discharge

Certifications
See above

CONTACT DETAILS

You must be logged in and have a current resume access subscription. Login or Register »


View all resumes in US-WA-Bellevue »
View all resumes in US-WA »

View other Software Engineer / Architect resumes