Go scales for products and teams
Go is a language designed for the modern world, where services are connected and always-on and teams are diverse and distributed.
We love the simple, reliable, and efficient software Go helps us write.Work with us on your next Go project
Effortlessly scalable services
When requests-per-second matters, scalability is king — but it isn't something that can be bolted on at the end of development.
That's why Go and its libraries are concurrent by default, from HTTP to the database. Plus, they're built with powerful language primitives, allowing all developers to write safe, concurrent code.
From the blog
Each Go project gives us an opportunity to experiment and learn. We write about our successes and challenges with Go to engage with the world-wide community of Gophers.
Go's interface provides a way to abstract away things like your database for testing.
The common location to define command-line flags might not be the best.
One application, many environments
Go is designed for the kinds of teams building web products today. They should be able to use the tools they know best, so it has terrific support for Windows, Mac OS X, Linux, and many other platforms. They should be able to collaborate on the same code-base (even across oceans), so it provides tools to maintain code-standards, and abstractions to keep projects organized.
Tools by and for developers
As creators, we're excited to build tools in Go because its cross-platform support allows us to serve all our potential users, regardless of what system they run.
We at thoughtbot are widely known for our our open-source work in the Ruby on Rails community, and this tradition is proudly carried forward by our Go developers, too. Here are some of our most active open source projects for Go.