Peter Norvig is a veteran researcher and engineering leader with 35 years of experience building AI, search, and NLP systems, most recently directing R&D at Google and now researching at Recursive while teaching at Stanford HAI. He combines deep academic credentials (PhD in CS from UC Berkeley and a BS in Applied Math from Brown) with hands-on software craftsmanship, authoring influential educational code and textbooks that bridge theory and practice. Norvig’s open-source work—such as implementing character-level language models and modernizing the AIMA Python codebase—highlights his focus on clear, testable implementations that teach core algorithms. Known for scaling research into production search improvements, he pairs technical architecture skills with a longtime commitment to education and accessible tooling. An understated detail: beyond leadership roles at major labs and companies, he continually contributes compact, challenging Python exercises (pytudes) designed to sharpen programmers’ algorithmic instincts.
34 years of coding experience
5 years of employment as a software developer
Ph.D., Computer Science, Ph.D., Computer Science at University of California, Berkeley
Bachelor of Science - BS, Applied Mathematics, Bachelor of Science - BS, Applied Mathematics at Brown University
Python programs, usually short, of considerable difficulty, to perfect particular skills.
Role in this project:
Back-end Developer & Software Architect
Contributions:765 commits, 64 PRs, 868 pushes in 5 years 11 months
Contributions summary:Peter primarily contributed to the core functionality of the Pytudes project. Their commits focus on the implementation of character-level language models, with a recursive algorithm for generating text by using the n-gram method. Additionally, their contributions involved the creation and maintenance of data structures, such as the ProbDist class, and functions to compute the mean and standard deviation of the values in a probability distribution, demonstrating their focus on the core logic and architecture.
Contributions:181 commits, 540 PRs, 581 pushes in 4 years 8 months
Contributions summary:Peter primarily focused on updating and converting Python code, specifically the `utils.py` file, to be compatible with Python 3. The contributions included porting the code to Python 3.5, updating the probability module, and adding testing using pytest. The work appears to have involved refactoring existing utility functions and ensuring the project's core functionality was modernized for Python 3 compatibility.
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.