Simon Cruanes is a back-end developer and PhD-trained computer scientist with 16 years of experience building robust systems in OCaml, Rust, and Odin, currently working at Ahrefs after a long tenure at Imandra. His work spans automated theorem proving and formal methods to practical systems engineering—observability, HTTP servers, RPC, serialization formats (including his own Twine), and distributed systems. A seasoned open-source contributor, he has improved core projects like OCaml, Z3, and the lwt concurrency library and enhanced performance tooling such as the Tracy profiler. Equally comfortable in research and production, he has a track record of turning deep logical and type-theoretic ideas into usable tooling and performant implementations. Based in Washington, DC, he brings a rare combination of formal-reasoning expertise and hands-on systems optimization.
16 years of coding experience
10 years of employment as a software developer
Doctor of Philosophy - PhD Computer Science, Doctor of Philosophy - PhD Computer Science at École Polytechnique
Master's degree Computer Science, Master's degree Computer Science at EPFL
The core OCaml system: compilers, runtime system, base libraries
Role in this project:
Back-end Developer
Contributions:70 reviews, 21 commits, 37 PRs in 7 years 5 months
Contributions summary:Simon primarily contributed to the OCaml core system by implementing and modifying features related to error message formatting and stack operations. They added and modified documentation, including the `-color` flag description for compiler messages. Their work involved adding the `Stack.fold` function and integrating functional iterators, impacting the functionality of the standard library. The user also addressed write barrier issues and contributed to ppx rewriter integration.
Contributions:1 review, 15 commits, 6 PRs in 7 years 4 months
Contributions summary:Simon contributed to the `lwt` library by addressing bugs and implementing new features. Their work involved fixing an issue related to idempotent closing, adding a test for the fix, and introducing the `Lwt_result` module. Additionally, the user optimized `Lwt.all` function by improving performance and memory usage, demonstrating a focus on efficiency.
concurrenteventsasynchronousconcurencylwt
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.