The hardest part to deal with for me is when the customer is not willing or maybe can't afford the actual hours it takes to build a feature properly, and it still has to be done... Which just naws at my perfectionist tendencies, but that's real life.
Our client is a feature freak and they keep asking for features all the time even though our project was at an all times low in terms of code quality.
I learned how to pair functionalities with refactoring from this and things are working out very well.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.