Matthew Johnson is a Principal Scientist at Google DeepMind with 14 years of experience applying probabilistic modeling and machine learning at scale, following a progression through senior research roles on the Google Brain team. He holds a PhD from MIT and combines deep theoretical expertise in stochastic systems with hands-on engineering—evident from substantial open-source contributions to JAX, Flax, Autograd, and TensorFlow Probability that improve primitives, autodiff, and backend support. Matthew’s work spans both research and infrastructure: implementing new language backends and numerical primitives while hardening libraries for real-world use on GPUs/TPUs. He brings a rare blend of neuroscience-informed research (postdocs at Harvard Medical School/HIPS) and production-grade ML engineering, often tackling subtle numerical and partial-evaluation issues that few researchers address. Based in San Francisco, he is known for improving core ML tooling interoperability and for contributing to widely used projects in the JAX ecosystem.
15 years of coding experience
4 years of employment as a software developer
Doctor of Philosophy - PhD Artificial Intelligence, Doctor of Philosophy - PhD Artificial Intelligence at University of Michigan
Bachelor’s Degree Computer Science, Bachelor’s Degree Computer Science at University of Notre Dame
Contributions:1 review, 1448 commits, 8 PRs in 6 years 8 months
Contributions summary:Matthew's commits focused on modifications and additions to the `distributions/observations.py` file. The code changes included the implementation of different observation distributions, especially for scalar Gaussians and mixtures of observation distributions. The changes reflect the user's work in extending the codebase to handle various distributions, which suggests an effort to improve the model's capabilities by using different data types.
Contributions:510 commits, 142 PRs, 545 pushes in 4 years 5 months
Contributions summary:Matthew primarily contributed to the development of the `autograd` library, focusing on efficiently computing derivatives of NumPy code. Their work involved refactoring and optimizing core functionalities such as removing side effects from operator modules and separating forward and backward pass functions. Furthermore, they addressed various bugs and added new features related to NumPy integration, for example, fixing a 0dim array problem and adding gradients for various NumPy and SciPy functions. These changes demonstrate a focus on improving the performance and expanding the functionality of the library.
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.