John Law is a pragmatic software engineer currently at Amazon with a diverse background spanning fintech and trading firms and internships in research and government agencies. With 36 years of life experience and formal studies at The Chinese University of Hong Kong and Télécom SudParis, he blends academic breadth with hands-on backend development. He is an active open-source contributor to major community projects like TheAlgorithms (C++ and Python), improving algorithm implementations, type hints, doctests and documentation—demonstrating attention to correctness and maintainability. Comfortable across algorithmic problem solving and production services, he brings a measured, globally-informed perspective shaped by time in Hong Kong and London.
36 years of coding experience
1 year of employment as a software developer
Exchange: Master of Science - MSc M1, Exchange: Master of Science - MSc M1 at Télécom SudParis
Contributions:369 reviews, 17 commits, 378 PRs in 3 years 3 months
Contributions summary:John primarily contributed to improving code quality and documentation within the `thealgorithms/python` repository. Their work focused on implementing and enhancing doctests, adding type hints, and correcting bugs in various algorithm implementations, specifically related to dynamic programming, graph algorithms and backtracking problems. They also enhanced the documentation, including examples and descriptions, improving the overall clarity and usability of the code. The user also made code style changes and formatting improvements, such as PEP8 compliance, as well as addressing mypy errors.
Collection of various algorithms in mathematics, machine learning, computer science and physics implemented in C++ for educational purposes.
Role in this project:
Back-end Developer
Contributions:21 reviews, 19 commits, 10 PRs in 7 months
Contributions summary:John primarily contributed to the implementation and update of various algorithms and data structures in C++. Their work involved solving problems related to Longest Increasing Subsequence, Lowest Common Ancestor, and Binary Indexed Trees. Furthermore, the user added and formatted Euler's Totient Function, Binary Exponentiation, and a function to compute the number of positive divisors, demonstrating a focus on mathematical algorithms.
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.