Post Job Free
Sign in

Software Engineer Development

Location:
Redmond, WA, 98052
Posted:
August 10, 2010

Contact this candidate

Resume:

Tommy C. Lee

Home 425-***-**** Cell 425-***-****

E-mail: ******************@*****.***

______Objective______

A creative and energetic senior software engineer seeking challenging works

in an environment to make significant contribution to the development of

high quality software products.

______Competencies______

Software system design approaches

Object-oriented using UML. Structure analysis. System decomposition into

concurrent processes and inter-process communication mechanisms.

Software development methodologies

Agile/Scrum (Adaptive; Feature Driven; Dynamic Systems). Predictive.

Leadership skills

Project management (team organization; partners coordination; scheduling

and monitoring; release process). Engineering approaches (trade-off

analysis; risk assessment).

Source code control facilities

CVS. Perforce (p4v; p4win; p4 command-line). Microsoft Source Depot.

Programming languages

Scripts (Perl; bash; gawk; ms-dos batch). High levels (C/C++; Java).

Assemblies (x86; EM64T; ARMv5TE/ARMv6/ARMv7; Coldfire; MIPS64).

Microprocessor instruction set architectures

Intel (386/486/Pentium; Core; Atom; SIMD; Hyper-Threading; Multi-Core;

EM64T). ARM (Intel Xscale (IOP; IXP4xx); TI OMAP4; Atmel AT91; Freescale

I.MX35). Motorola/Freescale (mc68k; Coldfire). MIPS. Qualcomm BREW MP.

Hardware debugging and verification

Hardware debugger (oscilloscope; RF spectrum analyzer; logic analyzer;

ICE). Host/target debug interfaces (serial; Ethernet; JTAG). Devices

(Network (Ethernet; 802.11x); On-board (USB; TPM; PSU/UPS; IPMI; PCI-X; PCI-

E; SCSI; SATA; ISA; VME; RF interface; I2C; PS2; serial interface;

DDR/DIMM; ASIC (FPGA; CPLD)).

Software and firmware debugging and verification

Linux (GDB; OOPs+System.map analysis on kernel panic; /proc and /sys

debugging. KGDB remote kernel debugging. Memory leak detection and analysis

tools (mtrace; dmalloc; kmemleak). Stack overflow detection and prevention;

Ethtool coalescing for improving multiple Gigabit Ethernet networking

performance.

Windows desktop/server (kernel and driver debugging tools (windbg for crash

dump analysis; kd.exe). Device driver verification tools (devcon; verifier;

staticdv; devpathexer; prefast). WHQL/WLK (Device Test Manager). Windows

CE/Mobile (CETK; KITL; Remote Tools; Debug Zones).

Software/firmware development environments

Linux tool chains(x86; EM64T; ARM; MIPS); Eclipse and ADT and Android 2.2

SDK. Bugzilla. Linux Test Project. Linux Jbuilder. UNIX (vendor-specific

native tool sets; GNU Build System).

Windows (desktop/server (VS2008; WDK (WDM; KMDF); CE/Mobile (EMC++ 4.0 and

Platform Builder 4.2; VS2005 and Windows Mobile 5/6 Pocket PC and

Smartphone SDKs; VS2005 and Platform Builder 6.0 R2).

Multimedia components

Audio (HD Audio; AC97). Video (NTSC/PAL; 915G; 915GM; 945G; AGP; codec).

Wireless communications

Spread Spectrum Wireless DSU/CSU. RF spectrum analysis. EIA/TIA air

interfaces (553 for AMPS; 856 for EV-DO). 2G Wireless modem standards (GSM

7.07; TIA IS-707). 3G (IMT-2000) cellular communication standards

(UTMS/WCDMA; CDMA2000; HSPA). IEEE 802.11a/b/g/n (radio technologies;

protocol stack; security infrastructure (EAP; WEP; WPA; WPA2); WiFi

enabling and configuration in Fedora and Ubuntu Linux systems). Bluetooth

protocol stack and profiles.

Network communications and management

Enterprise networking features (SSL VPN security; load balancing; high

availability clustering; Unified Threat Management). Network SSL VPN

performance improvement and optimization. Ethereal, Wireshark and tcpdump

analysis of TCP/IP protocols (HTSP, Telnet, SNMP, FTP, TFTP, BOOTP, TCP,

UDP, IP, ICMP). USB 2.0 (device/driver stack; protocol). Automotive buses

(Canbus; Xanbus). NAT Travel.

System Engineering

Installation, modification and upgrade of GNU cross-development tool

chains. Management of Linux software engineering packages (RPM; ISO; DPKG;

patch). UBuntu 10.04 and Moblin 2.1 on ASUS Eee PC 900HA netbook.

Enabling of Linux system on Android platforms. Android SDK 2.2 installation

in Ubuntu(Android Emulator; AVD configuration; Android application

development). Linux 2.6 kernel (scalability; high availability; hypervisors

(Wmware; Xen; KVM)). Installation and configuration of Vmware in Debian

Etch system. On-chip virtualizations (Intel VT; Freescale; ARM TrustZone).

OpenWRT.

______Software Development Accomplishments______

Applications

Linux C/C++ (POSIX multi-threaded software (Game Boy Color console porting;

open source benchmark programs modification for measurement of storage I/O

performance).

Java (multi-threaded application of collecting audio clips into database

for audio analysis; RMI distributed application).

Windows Win32 (SNA gateway porting from Win16 to Win32; CE 4.1 Game Boy

Color console software porting; CE 5.2 SSL/TLS software porting)

UNIX perl script suites (7x24 non-stop monitoring of routers in cellular

communications infrastructure; software engineering from archiving, stage,

installation and customization). S

Middleware (framework)

Windows Embedded CE 6.0 R2 multimedia framework (Bluetooth SDP A2DP; Apple

USB protocol stack; CDROM; WMA DMO codec architecture; event notification

mechanism).

UNIX cross-platform SNMP Open Agent (Solaris; AIX; HPUX).

System level

Linux kernels (configuration, building, installation, optimization and

debugging; source code file system familiarity; multi-core/processor kernel

scheduling domain analysis and tuning; Stack overflow detection and

protection; interrupt handling and IRQ affinity adjustment; DMA memory

mapping).

Linux kernel mode device drivers (Fiber Channel HBA; multimedia (ALSA; STPC

CRTC(SVGA; NTSC/PAL); Tungsten; SiS661GX); Ethernet (E100; E1000; Marvel

Yukon (sk98lin; skge; sky2)); soft modem; ACPI (gas gauge; battery);

Yukon/PCIX and Yukon2/PCIE based NAPI MSI mode; PCIE Advanced Error

Reporting driver. Linux user-mode device drivers (protocol driver;

multimedia video driver).

Windows WDK WinDDK (WDM model NDIS5.1 (subsystem; miniport driver; virtual

driver); KMDF USB/HID filter drivers. Windows CE/Mobile (DIS5.1 (subsystem;

miniport driver; intermediate driver); audio and video device drivers; GDI,

Direct Draw, Direct Sound.

Firmware

Mc68K power on sequence test code; diagnostics code on digital circuit and

ASICs; x86 BIOS upgrade; ARM Redboot and Uboot modifications.

Windows CE/Mobile (Enabling of boot loader, KITL and OAL in BSPs (CE4.1

x86; CE6.0 AT91); HTC Apache ROM images customization and upgrading).

Real-time operating systems

WindRiver VxWork (Tornado tools set; programming, debugging and deployment

of device driver and multi-threaded software; system integration);

proprietary SVR4 System V streams based interprocess communication

mechanism. OSPF/RIP/BGP inter-networking protocols in network router

systems.

______Employment History______

Microsoft, Redmond, WA, (Contracted) Senior Software Engineer, 1/2010-

5/2010

Development of the Windows Embedded CE 6.0 R2 based Win32 multi-threaded

partner development kit for development of versatile automotive software

systems. Development system: Windows 7. Development tools:

VS2005/BP6.0/CETK. Target system: FreeScale I.MX35 multimedia platform.

Work items: kernel threads; device drivers; Bluetooth A2DP; USB; speech;

iPod (5G; Touch); iPhone; audio CD ripping; SBC codec. Mobile device types:

USB; Bluetooth; iPodTouch/iPhone; CDROM.

Medicis Technologies, Bothell, WA, (Contracted) Senior Software Engineer,

11/2009-11/2009

Development of the Windows Embedded CE 6.0 BSP for the. Development system:

Windows Vista. Development tools: VS2005/BP6.0/CETK. Target system: Atmel

AT91SAM9263 platform. Work items: kernel startup; audio driver; Ethernet

driver.

MindTree Inc., Redmond, WA, (Contracted) Senior Software Engineer, 7/2009-

10/2009

Development of the Windows USB/HID filter drivers as components of the

multi-user resource sharing software product. Development system: 64-bit

Windows Server 2008 R2. Development tools: WinDDK7600/KMDF 1.9; CoreXT;

Visual Studio 2008. Target system: 64-bit Windows Server 2008 R2.

WatchGuard Technologies, Seattle, WA, (Contracted) Embedded Software

Engineer, 10/2008-05/2009

Evaluation and selection of new multi-gigabit-LAN platforms to increase the

networking throughput. Development system: Debian Etch. Development tools:

GNU cross-development tool chains; Uboot; Redboot. Target systems: Core 2

Quad Q9400 based; IXP435 based. Work items: Linux 2.6.21.7 SMP kernel

scheduling domain analysis and tuning; experiment on the of LAN IRQs

affinity with BIOS; adjustment of the network driver NAPI MSI mode.

Enabling of the embedded Linux systems to support the development of the

enterprise the network Unified Thread Management (UTM) products.

Development system: Debian Etch. Development tools: GNU cross-development

tool chain; uboot; WatchGuard Perl and Python proprietaries. Target

systems: x86 based. Work items: configuration; building; image

creation/upgrading; debugging on 2.6.21.7 and 2.4.20 kernels. Network

device drivers: sk98lin, skge, sky2.

Identiprise corporation, Seattle, WA, Senior Software Engineer, 11/2006-

9/2008

Porting, verification, debugging and problem resolution of Win32 multi-

threaded Windows SSL/TLS WiFi and CDMA secured mobile wireless

communications software systems from Windows XPSP2 laptop to Windows CE 4.2

based devices .

Development of the Windows NDIS5.1 device drivers as a component of the

above software systems. Development system: Windows XPSP2. Development

tools: WinDDK 3790.1830; Windows CE 4.2 plus Embedded VC++ 4.0; Visual

Studio 2005 with WM5/6 SDKs for Pocket PC and Smartphone; HTC Apache ROM

Kit. Mobile devices: Windows XP SP2 laptop devices; Pocket PC 2003SE PDA

devices; Pocket PC 2005 PDA devices (THC Apache XV6700; iPAQ110 Classic

Hand held); Windows Mobile 5/6 Smartphone devices. Work items: ACPI

compliant device power management; Cryptographic of the Internet traffics

in the SSL/TLS network security tunnel.

TCP/IP network configuration and monitoring in Red Hat Fedoroa Core 8

system (DHCP; DNS; SSH; router); Analysis (etherreal; tcpdump) and trouble-

shoot on the TCP/IP protocols (HTTP; UDP; TCP; IP) in Red Hat Fedora Core 8

system.

Intel Corporation, Hillsboro, OR, Senior Software Engineer, 6/04-11/2006

Enabling of Linux systems on Intel desktop platforms. Platforms: IA32;

EM64T; Low-cost Affordable PC; Community PC. Kernels (2.4; 2.6):

configuration; building; installation; debugging. Device drivers: Ethernet;

graphics; HD Audio codec; ac97; USB; mc97; ACPI-compliant PSU/UPS; TPM;

Battery; software modem. Linux OSVs: Red Hat; Novell; Debian; Mandriva;

Ubuntu; Red flag; Ce2C.

Engineering works include: engineering project management (team leadership;

cross-company coordination); open source ALSA liaison engineering; BIOS

upgrade facility development; kernel patching, configuration, building,

debugging and kernel panic analysis; installation and rescue of OSV

distributions; Linux/platform gap analysis and filling; device driver bug

fixing, debugging, performance analysis and profiling; engineering

infrastructure scripts development; CVS source control; ACPI power

management; RPM, ISO and patch file managements; new-platform BIOS

validation.

Modification and enhancement of the open source POSIX multi-threaded

benchmark programs and conducted the storage device performance measurement

and analysis. Delivered the analysis results, which helped identify the

bottlenecks in the server storage I/O paths. Platforms: IA32; EM64T; AMD64.

Operating systems: Linux (Red Hat Enterprise Linux; SuSE); Windows Server

2003. Device drivers: Fiber Channel HBA; RAID SATA controller; RAID

Ultra320 SCSI controller. Benchmark programs: Iometer; Platune; SQLIO;

Linmark; Tiobench; Bonnie++; Dynamo.

Microsoft Corporation, Redmond, WA, (Contracted) Windows CE Escalation

Engineer, 11/03-5/04

Answered the questions and resolved the problems of Windows CE 4.2 OEM and

IHV on CEPC and Xscale platform: kernel memory leak detection; Socket code

debugging; NDIS device driver trouble-shooting; HTTP protocol analysis;

EVC++4.0 multi-threaded programming for system monitoring; Windows

Socket programming; PCI bus drivers loading; IEEE802.11a/b/g WPA/WEP

connectivity and authentication trouble-shooting.

Intel Corporation, Folsom, CA, (Contracted) Software Engineer, 6/03-8/03

Enabling and verification of Red Hat Redboot BSP developed for Intel Xscale

platforms. Platforms: IQ80310; IQ80321. Embedded Linux software development

tool chain: Red Hat GNUPro. Host/target debug interfaces: serial; Ethernet;

JTAG.

Nintendo of America, Redmond, WA, (Contracted) Software Engineer, 12/00-

2/03

From scratch development of embedded Linux Kernel 2.4.18 GBC emulation

subsystem on STPC for integration into in-flight entertainment system:

configuration, building, installation and optimization of Linux 2.4

kernels; programming and debugging ALSA 0.5.12 device drivers on ISA

SoundBlast16 card; programming and debugging the STPC CRTC for SVGA and

NTSC/PAL interfaces; Linux system integration on sound driver, VGA driver

and handset interface.

Porting of above GBC emulation subsystem to Geode/MediaGX board running

Windows CE 4.1. Work items: validation of BSP components (boot loader; OEM

Abstraction Layer) with board vendor; creation and modification of platform

features for building OS image; resolution of multimedia device driver

issues with board vendor (audio and video device drivers; GDI, DirectDraw,

DirectSound and porting of Win32 multi-threaded console game player in the

EVC++4.0 environment.

CantaMetrix Inc., Bellevue, WA, (Contracted) Software Engineer, 12/99-12/00

From scratch development of Java RMI server and client of a distributed

music-content collection subsystem as a part of music analysis system: web

crawler, URL-downloading of music content; music formats conversion;

Oracle8i SQL; building, installation, configuration and debugging of Linux

paudio module for automatic music format conversion from RA to WAV.

______Education ______

MSCS (minor in EE), Georgia Institute of Technology, Atlanta, GA

______Remarks______

Early years employment history is available upon request. References are

ready for check. US citizen. Business travel is acceptable. Bilingual:

Speaking English and Chinese (Mandarin).



Contact this candidate