Practical Go: Real world advice for writing maintainable Go programs