Go is a programming language designed by Google to help solve Google's problems of developing large, complex software systems involving huge amounts of code and running on many machines. It was created to be compiled, concurrent using lightweight threads (goroutines) and communicate through channels, garbage collected, and have a simple syntax. Some key features include being statically typed, having good standard libraries, and being cross-platform while also eliminating issues like slowness and clumsiness in large codebases. It began as an internal project at Google in 2007 and became publicly available as open source in 2009.