ANDREW S. TUCKER
abqjtw@r.postjobfree.com
http://www.halcyon.com/ast
SUMMARY OF QUALIFICATIONS:
** ***** */*++ development for multiple platforms and operating systems
* ***** ** ****** *** application level development experience with
Windows CE
7 years of experience managing a development team
4 years of experience developing cryptography and security software
2.5 years of C/C++ and Java debugger and compiler development
1 year of experience developing web portals with ASP.net and WCF web services
1 year of experience developing streaming media players for embedded
systems
Co-wrote a book on Windows CE application development
Author of over a dozen published technical articles on software
development
Instructor for college courses on software engineering
Public speaking and technical presentations at developer conferences
Microsoft MVP, Windows CE: 2001-2004
EDUCATION:
M.S. Computer Science, University of Washington, March 2000
B.S. Computer Science, Seattle Pacific University, March 1994
SOFTWARE ENGINEERING EXPERIENCE:
Microsoft: 3/2004 - present
Development Lead/Manager, Business Online Services Group: 7/2008 - present
Managed a team of 10+ developers working on an for selling online services
Built a development team and utilized Scrum methods for agile development to ship 5 releases in 15 months
Integrated site commerce with third party billing system to support credit card and purchase order transactions
Delivered full support for globalization of site to any language, locale and country
Onboarded BPOS, Azure and other services for trial and purchase
Designed and delivered quick trials user experience for service signup
Designed and delivered portal for allowing partners to create quotes for purchase on behalf of customers
Designed and delivered support tools for customer service and and development troubleshooting of production site issues
Drove performance improvements to email notification system and ASP.net infrastructure to support scalability and faster signup times
Presented a technical talk on the use of X.509 certificates in web development
Development Lead, Windows Security: 3/2004 - 7/2008
Responsible for managing a team to maintain and deliver all cryptographic infrastructure in Windows Vista (eg CAPI, DPAPI, Certificate APIs, Smart Cards, Authenticode)
Managed a team to deliver a smart card deployment application
Lead a team of developers to design and implement CNG, a new cryptography API for Windows Vista
Lead a team of developers to design and implement support for biometric authentication in Windows
Lead a team of developers to add SHA2 and AES support to DPAPI and Authenticode
Interface with NSA, NIST, DOJ, Commerce Department and other government agencies to ensure compliance with FIPS 140-2,
Common Criteria and cryptography export regulations
Developed and presented a talk on new crypto components in Windows Vista for Microsoft PDC 2005, RSA 2006 and TechReady 4
Aegis Software: 8/2002 - 3/2004
Provide technical expertise for all phases of consulting project
lifecycle
Managed a team of developers working on a secure messaging product using cryptography and steganography
Designed and implemented custom APIs, configuration utilities and a network service for new WinCE device
Customized 8051 firmware for a headless embedded device
Developed and presented a talk on debugging eVC applications at 2002
Windows Embedded Developer Conference
Real Networks: 6/2001 -
8/2002
Implemented network streaming architecture for RealOne Player for WinCE
Ported RealVideo, RealAudio, MPEG4 AAC, and ACELP codecs to RealOne
Player for WinCE
Implemented multiple user interface features for RealOne Player for
WinCE
Isolated and fixed problems with streaming data over GPRS networks from
multiple service providers
Designed and implemented cross platform 3GP/MP4 file format reader and
HTTP file transport
Implemented wrapper for AMR codec on Symbian/EPOC based Nokia cellular
phones
Modified RTSP protocol implementation to interoperate with media servers
from multiple vendors
Added redirect support to RTSP protocol implementation
Wrote Python scripts to automate nightly build process for multiple
projects
Aegis Software: 8/2000 - 6/2001
Provided technical and writing expertise for all phases of consulting
project lifecycle
Provided technical review expertise for evaluating opportunities for
venture capital investment
Managed a team of developers working on multiple simultaneous consulting
projects
Ported WinCE flash file system to new hardware platform
Implemented Linux kernel module to verify Hi/Fn 7951 cryptography
processor
Architected the porting of a DOS PC Card radio test application to WinCE
GoAhead Software: 5/2000 - 7/2000
Developed network throughput test tool for Win32 and VxWorks
Optimized route parsing for cluster-wide messaging system
BSQUARE Corporation: 6/97 - 5/2000
Consumer Information Appliances Team: 1/2000 - 5/2000
Developed and presented tutorials on TCP/IP and socket programming
Integrated infrared remote control and DVD components into a new set
top box platform Hitachi SHx Compiler Team: 6/99 - 1/2000
Contributed maintenance and new back end optimizations
Added SH3-DSP Zero Overhead Loop support to the SHx assembler
Added new relocations to the Visual C++ linker Debugger Team: 6/97 - 8/99
Development lead for WinDbg and Visual C++ for CE from 11/97 to 11/98
Ported Visual C++ remote debug monitor from NT to CE
Maintained and extended remote debug monitor across all CE
microprocessors
Added active process debugging to VCCE 2.0
Added hardware floating point support to VCCE and WinDbg
Modified Visual C++ disassembler to process Hitachi SH3-DSP
instructions
Designed and implemented a compiler for the CE Interface Composer
layout language
Designed and implemented debugger interfaces for an unreleased product
Developed and presented a tutorial on Win32 multithreaded programming
Developed and presented a talk on debugging VCCE applications at 1999
Windows CE Developers Conference
Community Sector
Systems Inc: 8/95 - 6/97
Contributed to the development of PsychAccess, a document management
program, in Visual C++ and MFC
Designed and implemented porting of PsychAccess from Windows 3.l to
Windows 95/NT
Designed and implemented several DLL toolkits for reading and creating
proprietary data formats
Designed and implemented generic thunk solution to allow Win16 to call a
Win32 DLL
Maintained and extended an NT service for email processing with Extended
MAPI and ODBC
Wrote an Extended MAPI class to encapsulate sending and receiving of
messages, as well as address book manipulation
Integrated an ActiveX control and COM automation server to display data
in printable business forms
OUM and Associates Inc: 6/93 -
8/95
Lead developer for a team of six programmers
Designed and implemented a library checkout system using Visual Basic
and Access
Wrote and maintained a corporate client/server database application in
VXREXX and DB2 for OS/2
Developed OS/2 DLLs to interface REXX and C
Produce extensive database reports and queries with SQL Server and
Access
Jewell Technologies Inc: 9/91 - 2/93.Created Windows DLLs for the translation of graphics file formats
Wrote Windows installation program in Microsoft Quick C for Windows
Supported and enhanced Windows graphics file package
INDEPENDENT CONSULTING EXPERIENCE:
Object Tooling: 9/96 - 11/96Designed and implemented an NT service as part of a sample project to be
distributed with the Microsoft BackOffice 97 SDK
Used Extended MAPI and ODBC to integrate Exchange Server and SQL Server
and implement a simple, but scalable, purchase order system
Robotic and Embedded Systems Technologies: 1/95 - 9/95Designed and implemented a BASIC compiler for an embedded
microcontroller system
Developed hardware independent p-code for intermediate program
representation
MILITARY EXPERIENCE:US Army ReserveSignal Corps and Transportation Divisions, 1988-1996
PUBLICATIONS AND TEACHING EXPERIENCE:A DBWin32 Debugger for Windows - C/C++ Users Journal, October 1996
Adding Console I/O to a Win32 GUI App - Windows Developer Journal,
December 1997
Reading Java Class Files in C++ - C/C++ Users Journal, April 1998
Using WinSock with Windows CE - Windows Developer Journal, June
1998
CeRapiInvoke: A New Feature of Windows CE 2.0 - Dr Dobbs Journal,
September 1998
Windows CE API Quirks - Windows Developer Journal, May 1999
A Safer Alternative to TerminateProcess - Windows Developer
Journal, July 1999
Using IE4's HTML Parser - Dr Dobbs Journal, August 1999
Teach Yourself Windows CE Programming in 24 Hours by Andrew Tucker,
Jason Nottingham, and Steve Makofsky - SAMS, August 1999
Programming Corner column - www.windowscepower.com, December 1999 and
February 2000
Exploiting Hidden Features of CESH - Dr Dobbs Journal, May 2000
Batons: A Sequential Synchronization Object - Windows Developer
Journal, July 2001
Instructor for CSE 142: Computer Programming I, University of
Washington Extension, Fall 2001
Instructor for CSE 143: Computer Programming II, University of
Washington Extension, Spring 2002
Instructor for CSE 490B: Fundamentals of Object Oriented Data
Structures, University of Washington Extension, Fall 2002