I've worked in a medium Go codebase (one might call it big, it's on the edge). I sometimes had a really hard time getting a particular value from a variable. The problem was that the way the code was structured, I couldn't know the type, but in the debugger I did see that the value was there in memory. The senior Go software engineer told me to make the type global, but I don't know what to think of that to make any type global the moment multiple very far away source files need that particular form of type information.
Another thing that I've seen that helps with Go productivity is the relentless focus of only one way to do things.
Edit: I also think what is amazing about Go is the whole "everything sensible is baked in" type of thing. You may disagree if it's sensible. But I like being able to immediately write tests, or write HTML templates, etc.
I'm not necessarily a Go fanboy, it's not exactly the most fun code to write but it's been a valuable tool for me.
I've found that it takes me longer to write code in Go than Python and the code is more verbose, but I have a very high rate of first-compile success. Compiler catches most errors I'm likely to make. I've written about 6 small services in Go now and 1 med / large sized one.