Jacob Burnim is a Staff Software Engineer in San Francisco with 17 years of experience building large-scale machine learning and probabilistic systems, currently at Google. He combines deep research chops (PhD in CS from UC Berkeley) with hands-on engineering, having helped shape Sift’s content-abuse ML efforts and earlier Google search-ranking infrastructure. An active open-source contributor, Jacob improved probabilistic modeling in TensorFlow Probability (adding IndependentNormal, MixtureNormal, MixtureSameFamily layers and serialization fixes) and advanced JAX’s Pallas TPU-emulation and dynamic-debug tooling for better performance and developer ergonomics. He thrives at the intersection of ML research and production systems, shipping robust distributed interpreters, TPU simulation, and VAE components that bridge experimentation and deployment. Colleagues rely on him for complex debugging, architectural clarity, and pragmatic solutions that scale from prototype to production.
18 years of coding experience
12 years of employment as a software developer
Ph.D., Computer Science, Ph.D., Computer Science at University of California, Berkeley
Probabilistic reasoning and statistical analysis in TensorFlow
Role in this project:
ML Engineer
Contributions:16 releases, 13 reviews, 309 commits in 4 years 1 month
Contributions summary:Jacob implemented and tested the "IndependentNormal" distribution layer, adding the functionality for a stochastic encoder, including the parameters for its usage in a Variational Autoencoder. Further contributions included fixes and enhancements to existing distribution layers such as "IndependentBernoulli," while also adding new layers like "MixtureSameFamily," and "MixtureNormal," extending the capabilities of the library for probabilistic modeling. In addition, the user addressed issues with the documentation and serialization of these layers to improve their usability.
Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more
Role in this project:
Back-end Developer & ML Engineer
Contributions:14 reviews, 13 PRs, 1 branch in 5 years 9 months
Contributions summary:Jacob made significant contributions to the JAX library, particularly in the area of the Pallas framework. Their work involved implementing a new TPU interpret mode for running Pallas kernels on the CPU, simulating TPU features like shared memory and DMAs. They fixed several bugs, added support for dynamic grids and input-output aliasing, and integrated dynamic race detection to improve debugging and performance of the interpreter.
gpujittpujax
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.