Except you do this in a corporate setting and they will stop you the second it works. And then you are stuck maintaining a barely working version forever.
I learned this the bad way, but now I just lie and say it doesn't work until it's good enough for me
This is what it looks like when trust has broken down at a company. Management don't trust engineers when they say "this needs more time". And engineers don't trust management with the truth (it kinda works - we really could ship it now if we wanted to).
Remarkably common, but not inevitable. Thankfully there's plenty of workplaces which don't look like this.
And yeah, lying is certainly one way to get work done in a bad organisation. I'd much rather - if at all possible - to find and fix the actual problem.
I think the problem is that in the current system, the blame is always on the engineer. If you ship something early and it didn't work, then it's your fault because you didn't QA it enough.
If you don't ship it in time it's also your fault
This is bound to happen with any company that needs to deliver to clients. Sales are incentivized to sell at all cost, even if the product is not there yet.
“The current system” isn’t a thing across our whole industry. You’re speaking about some specific places you've worked.
Personally I’ve never felt blamed for bugs that made it into production. I’ve felt responsible for sure, but I’ve never been blamed by others in the business. And I have seen sales people utterly chewed out for selling features we haven’t implemented without asking engineering. It all really depends on where you work, and what the culture is like.
If you hate it there, you don’t have to stay. Not every job will be like that.
Another fun one is when sales has already sold the thing to the customer without there being a product to sell. At that point it stops being about trust it's just "get it out there".
I hate this, but seems to be fairly normal practice.
I learned this the bad way, but now I just lie and say it doesn't work until it's good enough for me