The only point I might take issue with would be the talk-to-customers-before-you-write-code scenario. It depends on the circumstance, but it's been my experience that sometimes you need write some code in order to talk to customers. In our particular market, we won't get in the door without having something to put in front of a customer, simply as a talking point to start a conversation.
If there is one point that's understated, it's the notion of a marathon and not pivoting too fast. It's obviously a fine line, but it's a fine line between beating your head against a wall and working to find a breakthrough or secret sauce or whatever the model is that suits your product. Use the knowledge you find, but the less sexy approach of slogging it out is great advice.