Teresa Johnson

Software Engineer at Google

Los Gatos, California, 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
Teresa Johnson is a seasoned software engineer with 14+ years of professional experience and a deep academic grounding in electrical and computer engineering from UIUC. Based in Los Gatos, she has spent over a decade at Google after a long tenure leading compiler development and research at Hewlett-Packard. Her expertise centers on compiler and toolchain back-end work—ThinLTO, LTO, LLVM/Clang, and LLVM-based optimizations—where she has improved debug info handling, hot-cold splitting, and MemProf context disambiguation. Teresa’s open-source contributions to high-profile projects like the LLVM monorepo and Apple’s Swift toolchain demonstrate a rare blend of careful refactoring, performance-minded data-structure work, and production-focused feature integration. Colleagues rely on her for pragmatic, low-level problem solving that bridges research-quality rigor with shipping robust compiler features. An understated detail: she regularly surfaces subtle correctness fixes (e.g., loop metadata handling and profile-aware naming) that prevent elusive runtime and profiling bugs.
code14 years of coding experience
job14 years of employment as a software developer
bookUniversity of Illinois Urbana-Champaign
github-logo-circle

Github Skills (31)

c-language10
back-end-development10
llvm10
compiler-development10
data-structure10
code-generation10
compiler-construction10
compiler-optimization10
data-structures10
memory-profiling10
backend10
cprogramming-language10
optimization10
driver9
meta9

Programming languages (5)

C++CLLVMHTMLPython

Github contributions (5)

github-logo-circle
apple/swift-llvm

Jan 2016 - Feb 2019

Role in this project:
userBackend Developer
Contributions:113 commits in 3 years 1 month
Contributions summary:Teresa primarily contributed to the LLVM project by addressing issues related to debug information and the hot-cold splitting optimization pass. Their work involved modifying the debug information processing to correctly handle loop metadata during the stripping process. They also implemented improvements to the hot-cold split pass, adding functionality to correctly name extracted functions and include profile entry metadata when PGO is enabled.
llvm/llvm-project

Aug 2021 - Aug 2021

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Role in this project:
userBack-end Developer
Contributions:670 reviews, 1 commit, 189 PRs in 1 day
Contributions summary:Teresa primarily worked on compiler and toolchain technologies, specifically focusing on optimizing and refactoring the MemProf context disambiguation process within the LLVM project. Their contributions included refactoring code for improved efficiency, such as switching to DenseMaps, leveraging remove_if, and optimizing data structure usage. They also added support for reporting hinted allocation sizes and improved the reliability and performance of context graph processing, including better handling of edge iterations.
compilerstechnologiesclangsubmittoolchain
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
Teresa Johnson - Software Engineer at Google