If building something great isn’t painful, you’re probably not building the best you can. Arguments, mis-steps, fights, back-tracking, re-discovering, frustration, throwing it away, trying again - these are all painful requirements for build a great product.