Program your next server in Go
All of the server backends at my company are written in Go.  This was a result of me writing a couple servers in Python a few years back, ending up with lots of problems related to hanging connections, timeouts, etc.  I tried a couple different server libraries on Python but they all seemed to struggle with even tiny loads.  Not sure what was up with that, but ultimately I gave Go a swing, having heard that it was good for server applications, and I haven't looked back.  It has been bullet proof from day one and I am overall happy with the development experience.<p>That was the good.  The bad?  Garbage collection, dependency management, and lack of first-tier support in various libraries.  Garbage collection makes the otherwise lightweight and speedy language a memory hog under heavy loads.  Not too bad, but I have to kick the memory up on my servers.  Dependency management is a nightmare; honestly the worst part about it.  The lack of first-tier support in various libraries is a close second.  AWS's API libraries had relentless, undocumented breaking changes when we were using them, all on the master branch of their one repo (breaking Golang's guidelines for dependencies).  Google itself doesn't actually have any real API libraries for their cloud services.  They autogenerate all API libraries for golang, which means they're not idiomatic, are convoluted to use, and the documentation is a jungle.<p>We continue to use Go because of its strengths, but it just really surprises me how little Google seems to care about the language and ecosystem.