Different situations and tasks call for different tools. Excelling in a modern development environment means being able to work with a variety of tools and being able to identify which tasks require which.
In environments where initial coding speed matters more than long term efficiency dynamic typing is preferable. Prototyping, mvp's, these are things that fit well into a loosely typed language. When that MVP grows into a business however, eventually it becomes benefecial to switch to static typing. Performance of a feature is usually the leverage that makes it happen, but the reduced cost of maintenance is what makes it stick.
So, both choices can be right for the same team at different stages of the product lifecycle.
What is interesting about Scala, go and rust is that they try to reduce the coding cost of static typing as much as possible (compared to Java, c and c++), giving the benefits without costing as much up front.
Here are some other reasons that occur to me (YMMV):
* A language that is great for performance might not lend itself equally well to experimentation or initial implementation (not saying this is the case for Golang, but in my opinion it probably is for other performance-focused languages like C++).
* You as a developer might have more expertise in a dynamic language.
* The initial development language might have superior OSS libraries which allow you to get to a working application quicker (later you can replace them with your own implementations when you do the rewrite)
* Things change. Golang might have been a terrible choice when Digital Ocean was starting up. Golang is definitely reaching a tipping point as a language, but it might have become a dead-end like many other promising languages and where would you be then?