Ian Rogers

Staff Software Engineer at Google

Mountain View, California, United States
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
Ian Rogers is a Staff Software Engineer in Mountain View with 20 years of deep systems experience building virtual machines, compilers and operating system components. At Google since 2011 and previously at Azul and in academic research, he architects low-level runtime and memory systems—work that spans Dalvik/DVM enhancements, dlmalloc upgrades, and JVM-classpath efforts. A prolific open-source contributor, he has touched high-profile projects including CyanogenMod/Android internals, the Linux kernel tree, BPF tooling (bcc/libbpf), and Google's Error Prone static analysis, often fixing subtle correctness and performance issues around memory, alignment and compiler behavior. He pairs rigorous academic training (BEng/MPhil/PhD from Manchester) with pragmatic production engineering, and is known for spotting and resolving non-obvious race, alignment and signedness bugs that silently undermine system reliability.
code20 years of coding experience
job8 years of employment as a software developer
bookBEng, MPhil, PhD, Computer Engineering, BEng, MPhil, PhD, Computer Engineering at The University of Manchester
bookRidge Danyers College
github-logo-circle

Github Skills (34)

debugging10
dalvik10
debug10
memory-allocation10
c-language10
static-analysis10
ebpf10
architecture10
testing10
libbpf10
instrumentation10
c-programming10
c1110
linux-kernel10
bpf10

Programming languages (12)

JavaC++ShellCRustLLVMMakefileJavaScript

Github contributions (5)

github-logo-circle
aosp-mirror/platform_dalvik

Aug 2012 - Mar 2015

Role in this project:
userBack-end Developer
Contributions:104 commits in 2 years 7 months
Contributions summary:Ian primarily focused on enhancing the Dalvik Virtual Machine, specifically the memory allocation subsystem. Their work involved upgrading the `dlmalloc` memory allocator, which included implementing new features such as trimming, and improving the garbage collection process. Additionally, the user addressed potential race conditions in object allocation by ensuring proper memory fencing. The contributions reflect a deep understanding of low-level memory management and garbage collection in the Dalvik environment.
Role in this project:
userSystem Architect / Software Architect
Contributions:8 commits in 2 years 2 months
Contributions summary:Ian's contributions primarily involved modifying Dalvik Virtual Machine (DVM) heap settings, including adjusting parameters such as heap start size, growth limits, heap size, and maximum free space across various device configurations. They also integrated a new feature for supporting instruction set variants within the dex2oat tool, and merged and coordinated related code changes. Furthermore, the user touched on the SurfaceFlinger and SensorService components, suggesting a broad understanding of Android system architecture and optimization.
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.
Request Free Trial