In my job, I read a lot of code. I read more code than I write. I suppose that’s true for many engineers at the senior level or above. For instance, a new piece of code integrates with a library, or with another code base, and I want to understand how the integration works. Or I am the supplier of the infrastructure/library/framework and I need to debug someone’s (mis-)use. Why does this not compile?