Ian Cottrell

SWE at Google

New York, New York, 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 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.
code14 years of coding experience
job16 years of employment as a software developer
bookMEng, Electrical and Electronics Engineering, MEng, Electrical and Electronics Engineering at Loughborough University
bookBedales
stackoverflow-logo

Stackoverflow

Stats
11reputation
436reached
0answers
2questions
github-logo-circle

Github Skills (29)

apidoc10
protocol-buffers10
testing10
build-system10
cmake10
go10
api10
bazel10
optimisation10
golang10
logging10
metric10
optimization10
debug9
benchmark9

Programming languages (7)

TypeScriptDockerfileJavaStarlarkGoPythonKotlin

Github contributions (5)

github-logo-circle
bazel-contrib/rules_go

Mar 2017 - Sep 2019

Go rules for Bazel
Role in this project:
userBack-end Developer
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.
golangbazelstarlarkrulescgo
golang/exp

Apr 2021 - Jul 2021

[mirror] Experimental and deprecated packages
Role in this project:
userBack-end Developer
Contributions:42 commits in 3 months
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.
Request Free Trial
Ian Cottrell - SWE at Google