2015–current — Senior Software Engineer — FireGiant
At FireGiant, I provide custom development and support services for the WiX Toolset.
2004–present — WiX Virtual Team
As a volunteer member of the core Windows Installer XML (WiX) virtual team, contributed code and documentation to Microsoft’s first open-source project:
- Co-administrator of open-source project.
- Developed reusable and localizable Windows Installer (MSI) UI to provide standard installation wizards.
- Created the Lux framework to enable data-driven unit-testing of MSI custom actions.
- Wrote features and fixed bugs in WiX toolset and extensions (C#) and bootstrapper and custom actions (C++).
2011–2015 — Software Design Engineer — Populus Group for Microsoft Corp.
Consultant on the teams responsible for Visual Studio and .NET Framework setup and servicing tools:
- Took over feature development and bug fixing of tools for authoring and building patches.
- Support users across Developer Division as they author setup and patches.
- Fix bugs and add features needed for Visual Studio setup and servicing in WiX, related build tools, and custom setup user interface (C# and C++).
2009–2011 — Software Design Engineer — Microsoft Corp.
Developer on the Microsoft Application Virtualization product line:
- Member of three-person team that shipped the App-V 4.6 desktop virtualization setup experience.
- Sole developer designing and implementing setup, servicing, and user experience for the next major release of the App-V desktop virtualization product line.
- Replaced InstallShield with WiX to enable all developers to make routine setup changes.
- Designed and implemented WiX extensions in C# to simplify setup authoring for non-experts.
- Designed and implemented declarative custom actions in native C++ to increase reliability of App-V installers, especially around driver installation.
- Created new installer user interface using native C++ and Win32 UI with WiX Burn chainer.
- Member of the team implementing the packaging tools for the next major release of App-V, including the sequencer and package-conversion tools. These tools allow IT administrators to repackage applications for App-V virtualization.
2007–2009 — Software Design Engineer — Microsoft Corp.
Sole developer responsible for setup, servicing, and extensibility for the ACES Studio product line:
- Shipped Flight Simulator X Service Pack 1, Service Pack 2, and Flight Simulator X: Acceleration in less than nine months.
- Developed all-new installers for future Studio products, including WiX extensions in C# and declarative custom actions in native C++, which were contributed to the WiX open-source project.
- Developed tools for core platform to build content packs and content pack updates and extensions.
- Created user interfaces in native C++ and Win32 UI.
- Worked closely with test team to align development work with test-team needs and schedule.
2004–2006 — Programming Writer — Microsoft Corp.
Responsible for portions of the Visual Studio SDK documentation set and related tools:
- Developed information architecture specs.
- Drafted new conceptual, how-to, and reference documentation on Visual Studio extensibility APIs.
- Updated existing documentation to improve quality.
- Served as ScrumMaster for documentation Scrum team.
2000–2004 — Release engineering technical lead — Compuware Corp. NuMega Lab
Planned release engineering efforts, built installers, and created automated nightly builds for software development tool product lines:
- Planned build and setup projects for multiple product lines.
- Created Windows Installer (MSI) merge modules and installers using WiX and InstallShield.
- Created automated builds of product source code, merge modules, and installers.
- Developed build-automation and service pack creation tools.
- Developed custom action code in C++ and Java on Windows, Linux, and Solaris.
- Developed graphical bootstrapper in C++ to check system requirements and install prerequisites.
- Lead administrator of Perforce source-control server for approximately 130 engineers.
- Worked closely with support team to prioritize high-impact bug fixes and reliability improvements.
2000–2004 — Writer
Co-authored 10 programming tutorial, how-to, and reference books on Visual C++, Borland C++, and Visual Basic.
See the latest version of this resume at http://bobs.org/resume.html.