# Heath Stewart (@heaths.dev)

Profile: https://sifa.id/p/heaths.dev
Headline: Principal Software Engineer
Location: United States

## About

With over 20 years of experience in Windows and cross-platform terminal applications, I am currently the architect the Azure SDK for Rust at Microsoft, guiding partners and reviewing design for service crates. I led the Azure SDK for .NET, started our Rust SDKs, and am now exploring generative AI and MCP servers to enhance partner agility and improve customer outcomes with safe, efficient use of our SDKs.

My background includes designing and building primarily Windows apps and services with C/C++ and .NET, as well as deep proficiency in deployment. With a complete architecture, I improved Visual Studio installer reliability by 200% and speed by 400%, contributed to the .NET Framework and former Visual Studio installers, worked on the Windows Installer XML toolset, created and advised on many first- and third-party installers, and have worked extensively with deployment tools like SSMS, WinGet, and Homebrew, and others.

## Career

- **Principal Software Engineer at Microsoft** (Mar 2024 - Present)
  1 Microsoft Way, Redmond
  • Developed the Azure SDK for Rust, focusing on architecture, guidelines, and core libraries.
  • Developed instructions, skills, and MCP server for partner agility and customer success.
  • Supported partners through design and code reviews, enhancing collaboration and code quality.
  • Implemented DevOps infrastructure, including recorded tests in Rust utilizing custom attribute-like proc macros.
- **Principal Software Engineer at Microsoft** (Aug 2019 - Mar 2024)
  1 Microsoft Way, Redmond
  • Developed and maintained the Azure SDK for .NET, focusing on Key Vault and Cognitive Services.
  • Unified test resource provisioning with PowerShell and build pipelines across all Azure SDK languages to enhance developer efficiency.
  • Participated in the Azure REST API review board, advising on partner service APIs in OpenAPI and TypeSpec.
- **Senior Software Engineer at Microsoft** (Aug 2004 - Aug 2019)
  US
  • Architected the new Visual Studio Installer, improving reliability from under 50% to 99% and install performance 4x.
  • Improved division agility from almost 2 days to build the installers to about 2 hours.
  • Developed major features for the WiX Toolset, enhancing package management and interoperability.
  • Innovated serviceability processes for .NET, including the first NGEN service integrated into .NET.
- **Director of Technology at Proplanner** (Mar 2002 - Aug 2004)
  Ames
  • Architected and implemented the Proplanner ERP application suite, enhancing operational efficiency.
  • Managed builds and installations, ensuring seamless deployment of our Web-deployed software.
  • Oversaw the interoperability of our .NET applications with EDS's Java applications, facilitating better integration.
  • Established and upgraded the network infrastructure and web servers, improving system performance.
- **Web Developer at Iowa State University, College of Veterinary Medicine** (May 2001 - Mar 2002)
  Ames
  • Re-designed the website for the College of Veterinary Medicine using ASP.NET, transitioning from static pages to a data-driven approach.
  • Supported the network administrator by developing useful utilities for faculty and staff, enhancing operational efficiency.
  • Collaborated with a team to ensure seamless integration of new technologies, improving user experience and site functionality.
- **Software Developer at Palisade Systems, Inc.** (May 1999 - Aug 2001)
  Ames
  • Designed and implemented user authentication and data encryption for Internet filtration software.
  • Supported network administration on both Windows and Linux platforms.
  • Conducted software testing and developed automation tools to enhance efficiency.
  • Maintained the installer for new software versions using Windows Installer.

## Projects

- **azsdk-samples-mcp** (Jan 2026 - Present)
  Adds samples from the Azure SDKs as context to better generate idiomatic samples following recommended practices.
- **azcrypto** (May 2023 - Present)
  Cryptography client for Azure SDK for Go. I lead the development of cryptography clients for other Azure SDK languages that help customers use Key Vault cryptography operations securely and that cache public keys for faster public key operations. We decided not to write one for Go
  \- focused on generation-only
  \- so this a side project.
- **GitHub CLI** (Apr 2021 - Present)
  I've added a number of features as a top external contributor that improve the Azure SDK team's automation including batch operations, project V2 support via extension prior to first-party support, expansive templating, and more.
- **Windows Installer PowerShell Module** — https://github.com/heaths/psmsi (Apr 2007 - Present)
  I am the founding developer on the project, which exposes Windows Installer functionality to PowerShell providing means to query installed product and patch information and to query views on packages.
- **Windows Installer XML** — http://wixtoolset.org (Oct 2008 - May 2015)
  Windows Installer XML is a toolset for creating and building deployment packages and bundles. It is one of the first open source projects at Microsoft and is used throughout Microsoft to ship major products like Office, SQL Server, Visual Studio, and the .NET Framework.
  
  During this time period I was a core developer in a small team. We implemented many of the requirements from many divisions in ways that would work for the global community.
  
  Notable features I worked on were the product dependency and reference counting feature, the patch build system, validation rules, and migrating from Source Depot (in-house version control system) to Mercurial and finally into Git with full historical context.
- **PowerShell**
  I added support to install the product per-user or per-machine and continue to help maintain the installer.

## Publications

- I'm a masochist on Zwift — heaths.dev (Aug 2026) https://heaths.dev/sport/2026/08/16/im-a-masochist-on-zwift.html
- Apropos of power tools — heaths.dev (Jun 2026) https://heaths.dev/general/2026/06/20/apropos-of-power-tools.html
- Cargo scripts are also manifests — heaths.dev (Jun 2026) https://heaths.dev/rust/2026/06/08/cargo-scripts-are-also-manifests.html
- Introducing the sequoia-recommend button — heaths.dev (May 2026) https://heaths.dev/atproto/2026/05/31/introducing-the-sequoia-recommend-button.html
- Support for enhanced links in Sequoia — heaths.dev (May 2026) https://heaths.dev/atproto/2026/05/24/support-for-enhanced-links-in-sequoia.html
- Initial stable release of Azure SDK for Rust — heaths.dev (May 2026) https://heaths.dev/azure/2026/05/16/initial-stable-release-of-azure-sdk-for-rust.html
- Cooler theme palette — heaths.dev (May 2026) https://heaths.dev/general/2026/05/03/cooler-theme-palette.html
- Improving the Azure SDK developer experience with MCP — heaths.dev (May 2026) https://heaths.dev/azure/2026/05/01/improving-the-azure-sdk-developer-experience-with-mcp.html
- Light and dark themes for my blog — heaths.dev (Apr 2026) https://heaths.dev/general/2026/04/20/light-and-dark-themes-for-my-blog.html
- We all make mistakes — heaths.dev (Apr 2026) https://heaths.dev/general/2026/04/18/we-all-make-mistakes.html
- Making the key version required for Key Vault cryptography APIs — heaths.dev (Apr 2026) https://heaths.dev/azure/2026/04/08/making-the-key-version-required-for-key-vault-cryptography-apis.html
- Cleaning up Rust made easier — heaths.dev (Mar 2026) https://heaths.dev/rust/2026/03/21/cleaning-up-rust-made-easier.html
- Publishing to the ATmosphere — heaths.dev (Feb 2026) https://heaths.dev/atproto/2026/02/21/publishing-to-the-atmosphere.html
- Cross-compiling x64 on Aarch64 — heaths.dev (May 2025) https://heaths.dev/rust/2025/05/11/cross-compiling-x64-on-aarch64.html
- Cleaning up Rust — heaths.dev (Mar 2025) https://heaths.dev/rust/2025/03/01/cleaning-up-rust.html
- 12 Months: Over 7000m with Strava — heaths.dev (Dec 2024) https://heaths.dev/sport/2024/12/20/12-months-over-7000m-with-strava.html
- Helix support for TypeSpec — heaths.dev (Aug 2024) https://heaths.dev/tips/2024/08/02/helix-support-for-typespec.html
- Using 1Password for git SSH signatures in WSL — heaths.dev (May 2023) https://heaths.dev/tips/2023/05/19/using-1password-for-git-ssh-signatures-in-wsl.html
- Oh My Posh — heaths.dev (Jan 2023) https://heaths.dev/general/2023/01/02/oh-my-posh.html
- On Mastodon — heaths.dev (Nov 2022) https://heaths.dev/general/2022/11/08/on-mastodon.html
- Reduce fetch and checkout times in git — heaths.dev (Jun 2022) https://heaths.dev/tips/2022/06/18/reduce-fetch-and-checkout-times-in-git.html
- git sync any branch — heaths.dev (Aug 2021) https://heaths.dev/tips/2021/08/31/git-sync-any-branch.html
- Table formatting in GitHub CLI 2.0 — heaths.dev (Aug 2021) https://heaths.dev/tips/2021/08/24/table-formatting-in-github-cli-20.html
- Add aliases to GitHub CLI from stdin — heaths.dev (May 2021) https://heaths.dev/tips/2021/05/19/add-aliases-to-github-cli-from-stdin.html
- gh user — heaths.dev (Apr 2021) https://heaths.dev/tips/2021/04/22/gh-user.html
- Configure Multiple Clocks — heaths.dev (Apr 2021) https://heaths.dev/tips/2021/04/16/configure-multiple-clocks.html
- Debugging tests in Linux containers with Visual Studio — heaths.dev (Apr 2021) https://heaths.dev/tips/2021/04/09/debugging-tests-in-linux-containers-with-visual-studio.html
- Getting back to a good state in Git — heaths.dev (Sep 2020) https://heaths.dev/tips/2020/09/24/getting-back-to-a-good-state-in-git.html
- Batch operations with Azure CLI in bash — heaths.dev (Jul 2020) https://heaths.dev/tips/2020/07/30/batch-operations-with-azure-cli-in-bash.html
- git sync — heaths.dev (May 2020) https://heaths.dev/tips/2020/05/29/git-sync.html
- Fixing Time Drift in Docker on WSL2 — heaths.dev (May 2020) https://heaths.dev/troubleshooting/2020/05/23/fixing-time-drift-in-docker-on-wsl2.html
- Simple WiX Project — heaths.dev (May 2020) https://heaths.dev/setup/2020/05/13/simple-wix-project.html
- Get Azure Search Keys in ARM Templates — heaths.dev (May 2020) https://heaths.dev/azure/2020/05/08/get-azure-search-keys-in-arm-templates.html
- Powerline in Vim — heaths.dev (May 2020) https://heaths.dev/tips/2020/05/06/powerline-in-vim.html
- Tracing Azure SDK for .NET — heaths.dev (Feb 2020) https://heaths.dev/azure/2020/02/04/tracing-azure-sdk-for-net.html
- Rebasing commits on one topic branch onto another branch — heaths.dev (Nov 2019) https://heaths.dev/tips/2019/11/11/rebasing-commits-on-one-topic-branch-onto-another-branch.html
- Welcome to my blog — heaths.dev (Nov 2019) https://heaths.dev/general/2019/11/10/welcome-to-my-blog.html
- Hosting .NET Controls in Java — DevX.com (Jan 2004) http://www.devx.com/interop/Article/19845/0

## Skills

### Technical
- .NET
- .NET Core
- .NET Framework
- C (Programming Language)
- C#
- C++
- Docker
- Git
- Go (Programming Language)
- JavaScript
- Linux
- Microsoft SQL Server
- Node.js
- Powershell
- Representational State Transfer (REST)
- Rust (Programming Language)
- Software Development
- Software Engineering
- SQL
- TypeScript
- Visual Studio
- XML
### Other
- ASP.NET
- Azure Key Vault
- Azure SDK
- LINQ
- Microsoft Cognitive Services
- Model Context Protocol (MCP)
- OpenAPI Specification (OAS)
- Software Deployment
- T-SQL
- TypeSpec
- Windows
- Windows Azure
- Windows Installer
- Windows Presentation Foundation (WPF)
- Windows UI
- WiX
- WiX Toolset

## Education

- **Iowa State  University** — Bachelor of Liberal Arts and Sciences, Computer Science (Aug 1997 - Dec 2001)

## Involvement

### Volunteering
- Kirkland National Little League (Mar 2020 - Jun 2024)
  Umpire
- Boy Scouts of America (Sep 2017 - Mar 2024)
  Committee Chair
  Cubscout Pack 559 Committee Chair

## Languages

- German (elementary)
- Italian (elementary)

## Links

- Keyoxide: https://keyoxide.org/dcde9318c22bb51e3821b6ab8a9859dbe7728faa
- dns: https://heaths.dev
- github: https://github.com/heaths
- activitypub: https://fosstodon.org/@heaths
- tangled: https://tangled.org/heaths.dev
