Andrew Ayers

Principal Software Development Engineer at Microsoft

Newport, Oregon, United States
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
Andrew Ayers is a Principal Software Development Engineer and compiler architect with 11+ years at Microsoft building and optimizing JIT and AOT toolchains for .NET, including visible contributions to core projects like CoreRT, LLILC and the dotnet/runtime. He specializes in inlining, profile-guided and whole-program optimizations, binary analysis, and practical codegen improvements that measurably improve runtime performance and stability. His work spans deep backend fixes—sign-extension and intrinsic support, aggressive inlining, retyping expressions in the JIT—to higher-level linker and layout strategies developed over decades of compiler engineering. A PhD-trained engineer with roots in HP’s optimizer and a founder who reverse-engineered mainframe binaries, he blends academic rigor with hands-on systems pragmatism. Based in Newport, Oregon, he is a consistent open-source contributor focused on making production runtimes faster and more robust.
code11 years of coding experience
job21 years of employment as a software developer
bookPhD, Electrical Engineering / Computer Science, PhD, Electrical Engineering / Computer Science at Massachusetts Institute of Technology
bookBSEE, Electrical Engineering, BSEE, Electrical Engineering at University of Colorado Boulder
stackoverflow-logo

Stackoverflow

Stats
912reputation
33kreached
17answers
0questions
github-logo-circle

Github Skills (28)

c-language10
llvm10
code-generation10
performance-optimization10
compile10
dotnet-core10
performance-tuning10
netcore10
cprogramming-language10
csharp10
jit10
flow-control9
control-flow9
reverse-engineering9
run-time8

Programming languages (6)

C#PowerShellDockerfileC++LLVMF#

Github contributions (5)

github-logo-circle
dotnet/llilc

Feb 2015 - Mar 2022

This repo contains LLILC, an LLVM based compiler for .NET Core. It includes a set of cross-platform .NET code generation tools that enables compilation of MSIL byte code to LLVM supported platforms.
Role in this project:
userBack-end Developer
Contributions:199 commits, 133 PRs, 69 pushes in 7 years 2 months
Contributions summary:Andrew primarily contributed to the LLILC compiler for .NET Core by addressing code generation issues. Their work involved fixing sign extensions in integer conversions, updating build paths, and implementing core functionalities for method-related operations. They also implemented support for the `abs` and `sqrt` intrinsics. Additionally, they resolved issues with load operations and fixed memory leaks.
bytecodecode-generationcompilerdotnetllvm
dotnet/runtime

Apr 2015 - Jan 2023

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
Role in this project:
userBack-end Developer
Contributions:2491 reviews, 945 commits, 1543 PRs in 7 years 10 months
Contributions summary:Andrew contributed to the .NET runtime repository by modifying and improving JIT compiler code. Their work involved refactoring, performance optimization, and extending the JIT's capabilities for various cases including OSR methods, profile incorporation, and handling specific edge cases related to memory and variable handling. The user's contributions were primarily focused on enhancing code generation and control flow analysis within the JIT compiler, aimed at improving performance and addressing potential issues. They also implemented and tested new functionalities to support and refine existing features.
dotnetiotmobile
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial