Ömer Ağacan is a London-based software engineer with 14 years of experience specializing in programming languages, compilers, and runtime systems, currently working on the Dart team at Google. He has deep compiler-internals expertise—contributing to GHC and ghcjs where he improved STG, unboxed data handling, profiling, and code generation. At DFINITY he worked on the Motoko compiler and runtime, notably implementing a garbage collector in Rust and low-level codegen features. His open-source footprint spans Dart SDK and protobuf.dart performance fixes, parser work in lalrpop, and practical tooling and editor backend improvements in Neovim and Zed. With a master’s from Indiana University Bloomington, he combines research-level rigor with hands-on release engineering and a focus on robust, performant systems.
14 years of coding experience
3 years of employment as a software developer
Bachelor's degree, Computer Science, Bachelor's degree, Computer Science at TOBB Ekonomi ve Teknoloji Üniversitesi
Master's degree, Computer Science, Master's degree, Computer Science at Indiana University Bloomington
Contributions:11 releases, 180 reviews, 153 commits in 7 months
Contributions summary:Ömer primarily focused on improving the core library functionality of the Dart protobuf project. Their contributions include fixing potential issues in `CodedBufferWriter` related to bit masking, removing redundant code, tweaking the documentation, and addressing various edge cases in the proto3 JSON deserialization process. They also made several optimizations to improve the performance of the code, such as removing closures and redundant checks. They were responsible for bug fixes and implementing several performance improvements.
Simple high-level language for writing Internet Computer canisters
Role in this project:
Back-end Developer
Contributions:178 reviews, 542 commits, 80 PRs in 1 year 6 months
Contributions summary:Ömer primarily contributed to the Motoko language compiler and runtime system, focusing on core language features and low-level optimizations. Their work included implementing the float remainder operator in code generation and adding more character functions with unicode support to the prelude. The user also improved the linker by preventing duplicate type generation and adding support for GOT.func imports. Additionally, they implemented a new garbage collector in Rust, improving the codebase's maintainability.
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.