Ian Cottrell is a seasoned software engineer with 14 years of professional experience and a deep specialization in Go, currently contributing to Google from New York. He brings a background spanning game studios to large-scale infrastructure, having progressed from lead architect roles at Rockstar Games to long-tenured SWE positions at Google. Ian is an active open-source contributor, improving Go tooling and build systems—work that includes refactoring and testing godef, enhancing golang/exp event and logging primitives, and modernizing Bazel rules for Go. He focuses on making complex systems more testable, maintainable, and performant, with practical expertise in build systems, protobuf/CMake workflows, and benchmarking. Notably, he has a track record of extracting core functionality for testability and adding benchmark-driven insights to critical developer tooling. He holds an MEng in Electrical and Electronics Engineering from Loughborough University.
14 years of coding experience
16 years of employment as a software developer
MEng, Electrical and Electronics Engineering, MEng, Electrical and Electronics Engineering at Loughborough University
Contributions:1 release, 249 commits, 527 PRs in 2 years 5 months
Contributions summary:Ian primarily contributed to Bazel build rules for Go projects, focusing on improving build performance and maintainability. They addressed issues of infinite recursion on Windows systems. The user also worked on refactoring the build process, including rewriting portions of the compilation and linking scripts to utilize more modern Bazel features and improve portability. The user demonstrated expertise in the Go language and build system.
Contributions summary:Ian primarily contributed to the experimental and deprecated packages within the `golang/exp` repository, which mirrors experimental and deprecated packages for the Go programming language. Their work focused on enhancements and modifications within the event package, specifically related to logging and metric implementations. The changes include improvements to the printing of events, the addition of a default global exporter, and modifications to better support contexts in `Start`. They also made the message a normal label, removed the builder concept and added a new mechanism for caller detection.
golanggo
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.