Joe Richey is a software engineer with a decade of experience building secure, low-level systems for platforms like Google Cloud, Android, and production infrastructure. At Google he focuses on platform encryption, contributing production-grade cryptographic key management and kernel integrations while spending part of his time improving the Go ecosystem. His open-source work spans Go and Rust projects — from implementing Argon2id and TPM tooling to adding getrandom syscall support and filesystem encryption primitives — showing deep expertise in cryptography, OS internals, and cross-platform compatibility. Joe's background in mathematics and early research on modular forms surfaces in his careful, correctness-first approach to security-sensitive code. He brings practical experience across major vendors (Apple, Facebook) and a track record of shipping interoperable, well-tested system software.
10 years of coding experience
1 year of employment as a software developer
Bachelor's degree, Mathematics and Computer Science, Bachelor's degree, Mathematics and Computer Science at University of Michigan
Student Leaders Exchange, Summer 2012, Student Leaders Exchange, Summer 2012 at National Committee on United States - China Relations
Kansas City, Missouri area, Kansas City, Missouri area at Park Hill South High School
Intensive five-week mathematics program, Mount Holyoke College, South Hadley, Massachusetts. Summer 2010., Intensive five-week mathematics program, Mount Holyoke College, South Hadley, Massachusetts. Summer 2010. at Canada/USA MathCamp
A small cross-platform library for retrieving random data from (operating) system source
Role in this project:
Back-end Developer
Contributions:294 reviews, 198 commits, 310 PRs in 3 years 8 months
Contributions summary:Joe significantly contributed to the `getrandom` crate, a cross-platform library for retrieving random data. Their work focused on enhancing the Linux/Android implementation by adding support for the `getrandom` system call, improving error handling, and optimizing buffer handling. Furthermore, the user addressed platform-specific issues on other systems, such as macOS, and corrected code for the wasm32 target. Their contributions also encompassed adding support for x86/x86_64 and adding tests to ensure proper functionality.
Contributions:12 releases, 30 reviews, 292 commits in 5 years 11 months
Contributions summary:Joe primarily focused on the implementation and maintenance of cryptographic key management within the `google/fscrypt` repository, specifically for Linux filesystem encryption. They were responsible for creating the "Key" struct for secure data handling, and also built functions for key wrapping, unwrapping, and passphrase hashing, utilizing cryptographic primitives such as AES256-CTR, HMAC-SHA256, and Argon2id. The user also integrated the keying functionality with the kernel's keyring by creating and managing the policy and user key inserts.
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.