Either that or you are one who constantly feels things would have been done better if your bosses simply got out of your way. (...) This is why I don't feel you are speaking from experience. The fact is getting those Christmas sales are probably far more important than your viewpoints on perfection. And sometimes those deadlines are there for a reason. Developers are not tasked with creating some shining example of what perfect code can be, they are tasked with making a return on investment.
No, actually there's where I'd like the manager or business owner to get in the way and do his job of figuring out what's most important and if necessary make those hard calls between schedule, quality and cost. I've actually worked a lot with project and portfolio management tools and I know those warning lights start blinking but poor managers want to have their cake and eat it too. Like one project I was in once was supposed to last eight weeks, it got three weeks delayed due to a contract problem but the deadline didn't move an inch. Neither did the scope. Or the resources. Beneath the manager talk it was just "do eight weeks work in five", like we had three works of slack to begin with.
It's got nothing to do with perfection, it's to say it takes what it takes. If you give me a list of features and tell me you need all of them, the amount of work doesn't change just because you set a deadline. I can tell you - with some level of uncertainty - what's reasonable to expect in that amount of time. If those two don't add up, you need to solve that not just dump it on me. Or if that was my job I'd have to do it, I'm quite sure I know how but I don't want it. The problem is when you won't manage and just crack the whip then developers won't take the shit. That's when you get progress bars where the first 90% take 90% of the time and the last 10% forever. But it looked great until shit the fan because everyone fudged the numbers.
The problem when you won't manage is that you often end up with something not actually working but gets rolled into production anyway. To use the infamous car analogy, instead of cutting a few features like lane assistance and automatic windshield wipers you've only half finished the steering, engine, gearbox, transmission and all the other must-have items so you slap the fastest, ugliest hack you got on there and ship it. Yes, I am familiar with time to market but there's no good time to flop in the market. And then you blame the developers for shipping a buggy clusterfuck.
Honestly I feel your heart is in the right place, and your level of principles will produce far better products than those who care little for software quality. But your statements really don't reflect those of someone who has ever actually been in charge of large software projects.
If we're trading compliments, it sounds like you've actually got a clue about running software projects and that will produce far better products than those who want to polish their project all day long. But your statements really don't reflect those of someone who has ever actually been on the receiving end of crap management.