Emily Fertig is a software engineer with six years of experience at Google focused on numerical computing and ML infrastructure, now working on JAX. She brings deep expertise in TensorFlow and TensorFlow Probability—authoring gradient support for LinearOperator classes and improving probabilistic distributions—and has contributed core lowering rules and testing to the JAX ecosystem. Her background spans research and applied roles from AI Residency to Research Software Engineer, blending probabilistic ML, Bayesian methods, and compiler-level improvements for XLA. Prior work in energy policy and academic research (PhD-level training) gives her a rare cross-disciplinary perspective on rigorous experimentation and system-level tradeoffs. Based in the San Francisco Bay Area, she is an active open-source contributor to flagship projects like TensorFlow and JAX, improving both correctness and performance. Colleagues rely on her ability to translate mathematical abstractions into robust, tested code that scales to production ML workloads.
6 years of coding experience
12 years of employment as a software developer
Sidwell Friends School
PhD, Engineering and Public Policy, PhD, Engineering and Public Policy at Carnegie Mellon University
BA, Geosciences, BA, Geosciences at Williams College
Probabilistic reasoning and statistical analysis in TensorFlow
Role in this project:
ML Engineer & Data Scientist
Contributions:10 releases, 8 reviews, 271 commits in 3 years 4 months
Contributions summary:Emily's commits focused on adding the WeightNorm wrapper for weight normalization of layers in the `tensorflow/probability` repository, aligning with the project's deep learning focus. They also contributed significantly to the mathematical foundations of various distributions by deprecating an existing full covariance distribution and providing a replacement using the more efficient MultivariateNormalTriL distribution. Additional contributions included refining docstrings for existing distributions to improve their usability.
Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more
Role in this project:
ML Engineer
Contributions:12 reviews, 13 PRs, 32 comments in 2 years 7 months
Contributions summary:Emily primarily contributed to the development of Mosaic, a component within the JAX ecosystem, by implementing lowering rules for various mathematical operations. These changes include adding support for functions like `absf`, `fpowi`, `log1p`, `min`, `max`, `sin`, and `sqrt`. The user also improved error messages and added a testing framework, contributing to the overall robustness and functionality of the Mosaic framework. Furthermore, the user added support for multiple branches in `cond`.
pytorchpythonjitautomatic-differentiationgpu
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.