Ian Petersen is a C++-focused software engineer with over a decade of experience building and maintaining large-scale applications at Meta and Microsoft. He blends deep expertise in C++ and C# with decades-spanning fluency in both functional and object-oriented design, and a practical grasp of databases, client-side JavaScript, and build/tooling ecosystems. At Meta he continues to tackle low-level stability and portability issues, while his open-source contributions to high-profile projects like Facebook's folly and libunifex show a knack for fixing subtle UB, build-system quirks, and RTTI-free builds. Earlier roles ranged from technical principal at a startup—where he built an optimizing estimating engine and a GWT web UI—to leading the creation of a cross-browser JS widget library, reflecting strong product-minded engineering. Based in Seattle and educated at the University of Waterloo, he combines systems-level rigor with a pragmatic bent for shipping resilient code in complex, legacy-influenced codebases.
10 years of coding experience
13 years of employment as a software developer
Honours Bachelor's of Mathematics Major in Computer Science Option in Cognitive Science, Honours Bachelor's of Mathematics Major in Computer Science Option in Cognitive Science at University of Waterloo
Contributions:350 reviews, 61 commits, 177 PRs in 2 years 6 months
Contributions summary:Ian primarily contributed to fixing build errors and improving the codebase related to `libunifex`. Their work included resolving compiler warnings by removing unused lambda captures, introducing `unifex::type_index` to support building without RTTI, and suppressing vectorization warnings. The user also addressed compilation issues in test files, and updated copyright headers and deprecated files to ensure project consistency.
An open-source C++ library developed and used at Facebook.
Role in this project:
Back-end Developer
Contributions:7 commits in 4 years 2 months
Contributions summary:Ian primarily focused on improving the stability and compatibility of the `folly` C++ library. Their contributions included fixing undefined behavior in `Lazy.h`, adapting `coro`'s `Malloc.cpp` for older iOS versions, and resolving issues related to building with exceptions off. Furthermore, they addressed implicit conversion warnings and corrected an array length calculation in `ConvTest.cpp`. Their work demonstrates a strong understanding of C++ and its intricacies.
facebookcppc-library
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.