It's better to do it _right_ than to do it _right now_

,

Yes, Go’s stdlib has been a joy to use!

I’ve thought about this a bit more – perhaps this is not a universal rule – on the other side of the coin, you have the MVP philosophy that focuses on getting stuff out, learning, and iterating. So perhaps its important to use the right approach at the right time (kind of like the right tool for the job …) – changes that are in core libraries, data structures, or APIs that are far reaching need to be designed and changed carefully. Features in an unreleased product is where the MVP approach is more appropriate and should be perhaps be implemented early and released often. In released projects, a more conservative approach may be needed as whatever you release, you might have to live with forever. Open source languages, like Go and Elm, are at the far end of the spectrum where changes are far reaching and features need to be considered very carefully.

This “right” theme is what defines successful architects/technologists:

  • right technology at the right time
  • right approach and methodology for the team/project phase
  • right tools for the job

One size does not fit all!