Harry Sarson is a London-based software engineer with a decade of experience building high-performance embedded systems and backend tooling. He combines low-level systems expertise—contributing to RISC-V emulation and system-call support in a full-system emulator—with higher-level library work, including QR decomposition and vector norm fixes in the widely used mathjs project. His recent roles span startups and engineering consultancies, most recently at Codethink after leading embedded software efforts at Signaloid. Comfortable in Rust, C/C++ and JavaScript, he has a track record of improving correctness, tests and build systems across open-source projects like difftastic. A Cambridge MEng, he’s as focused on clean, auditable code as he is on squeezing predictable performance out of constrained hardware.
10 years of coding experience
5 years of employment as a software developer
Master of Engineering (MEng), Master of Engineering (MEng) at University of Cambridge
Sunflower Full-System Hardware Emulator and Physical System Simulator for Sensor-Driven Systems. Built-in architecture modeling of Hitachi SH (j-core), RISC-V, and more.
Role in this project:
Embedded Systems Engineer / IoT Developer
Contributions:56 commits, 14 PRs, 33 comments in 11 months
Contributions summary:Harry primarily worked on the "sunflower-embedded-system-emulator" repository, contributing to the emulation of embedded systems, specifically for RISC-V architectures. Their commits focused on low-level system details, including removing whitespace, implementing nan boxing for floating-point numbers, and modifying the instruction set architecture (ISA) for the RISC-V emulator. The user also contributed to supporting RISC-V system calls and improving an example bubble sort program.
An extensive math library for JavaScript and Node.js
Role in this project:
Back-end Developer
Contributions:4 reviews, 103 commits, 164 PRs in 4 years 2 months
Contributions summary:Harry primarily contributed to the `mathjs` library by addressing documentation errors and improving function implementations. Their work involved correcting return types, fixing examples, and better documenting functions within the algebraic decomposition modules, particularly the `lup` and `qr` functions. The user also implemented the `qr` decomposition and updated the vector norm calculation. They further refined the codebase by ensuring it conformed to node-style-guide standards.
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.