1. Go's got just... broken error handling. Please write a dozen if (err != nil) gates in a row and try not to mess up.
2. Go's principle concurrency primitive, channels, is actually very slow as per its implementation and is often avoided because of it.
3. #2 may be a blessing in disguise because working with large single-delivery channel pipelinesis actually quite awkward. Our normal go-to techniques of exception handling and trace debugging don't handle it well outside of very small contexts. 40 years of debuggers all focus on the call stack and Go smashes that.
4. Go's quite convenient for a small team banging out software but for a large team over a long period of time, we still don't have access to the versioning and build systems Google had that make a lack of good version control feasible.
5. Despite being a language all about I/O, Go brings no real new innovations in I/O to the table.
6. Go's developer mantra is at least as patronizing as Python's. Probably more so.