True. But it does no good if management is dismissive. But that's another problem outside of the topic of estimating.
> And the best thing is if they then get 'their 10x code slinger' who does it indeed very fast, sends the code back to you and you are stuck with something akin to a broken toilet with diarrhea coming out the sides
A grim picture to think about but I find this to be true a lot of the time.
Another thing to note here that I have experienced is when management has an incompetent mentality that, for a given project, that all tasks for this project are created equal. For example, they expect that if task X took 1 hour that surely task Y will also take 1 hour despite the fact that task X and task Y vary greatly in complexity.
I try to follow this mantra from Kent Beck: "Make it work. Make it right. Make it fast."
I find that most of the development environments that I have worked in, the focus usually ends up being on getting new features completed in order to help facilitate the sales department to make sales. It's a never-ending cycle that will gradually accumulate technical debt such that pushing new features out the door will eventually come to a halt.
Yes, I agree that code can never truly be perfect. However, as developers we should always strive to make our code better.
Family is the most important. Cherish every moment. Reflect on those cherished moments. Time is but a fleeting thing.