My work is primarily Python, and only a few months ago I started learning Go. Both of them have their own weak and strong points, and I can't definitively say you should go for one over the other, but these may help you consider:<p>- If you want to get sh!t done, and quickly, go for Python. It's really easy to build things from scratch with Python because of how concise, clean, and clear the language is. Plus, the Python community is huge so there's practically a package for any advanced functionality you need (and it's easy to write one yourself). There's a reason why research giants such as Google, NASA, and the LIGO project use Python -- it's because you get to spend less time getting your code to work and more time actually designing the underlying models. TL;DR: Write and ship code faster, at the cost of actual runtime performance (but PyPy and Python 3.x with asyncio, makes Python more competitive in performance as well).<p>- If performance is your focus, go for Go. It's a lot stricter than Python because it's a compiled language and therefore you'll get a lot more compile-time errors with regards to variable typing and conventions (reminiscent to, but arguably even stricter than, C++ and Java). On the upside, you'll undoubtedly incur less technical debt, at the cost of spending a lot of time cleaning your code and getting it to work. Go is pretty young, but it's gaining a lot of traction (spawning the likes of Hugo, Docker, and Kubernetes), so if you need your program to be more performant and highly concurrent, go for Go. TL;DR: Spend more time writing code, in exchange for your program being easily concurrent and performant.<p>Personally, unless I'm writing OS-level programs that require fine-tuning of things such as memory management, I'd go for Python. Some of Go practices and conventions got tedious and old pretty fast.