From Zero to Hero in Go Debugging:

Thinking Like a Senior Engineer