i read about it before i had this done to me for the first time, and i played along with it. it's a neat trick because it's plausibly deniable for everyone involved and the outcome is good while minimizing the bullshit work in favor of a sacrificial final word.
It’s a deliberate canary - if the client didn’t comment on the obvious mistake/bug, I know they didn’t actually look at it.
Code reviews is a great example of this, of course. You’re supposed to comment something, otherwise how will people know that you are smart and did your job? Famously, the most straightforward code changes always gets some comment to change something stylistic or menial.
The reason is most people can tell red from green and big from small, and most people use graphic designs daily, so will have an opinion on whether a design element should be bigger or redder.
Other professionals with a similar plight could be copywriters, and devs when selling a PR.
Compare to plumbers or lawyers.
a quarter after launch it was a crisis because $5k a month customers were costing $50k a month in compute. The original designer put in some patches that got it down to $25k, and then $3k and was a "hero". By my estimates the limit of the actual work being done should have been < $500. But we didn't have time to implement that due to a quarterly insistence and folks all nodding their heads at eachother to get promoted.
> i got a negative review for not being a "team player"
Effective communication is good for your career. People don't want to work with someone who slings distracting insults.
You can say "This will cost $50K, but we can't afford more than $5K, and I think we can do it $500", or "a 10x customer will cost 100x to serve, but a different design can bring that down to 10x".
SaaS without the sass.
Team player meant a lot of head nodding, and making each other look great in a previous company.
As the company and number of devs grow, the probability of a dev doing something stupid increases substantially, so those early mistakes can actually be quite valuable in showing where your infrastructure has gaps.
Let the imperfect code happen, it often leads to free chaos-testing and more stable infrastructure.
If you just fix it business as usual.. or prevent the issue then noone will care about you.
"Do it fast" feels really, really good. It's motivating, and you feel like you're pushing forward. But it can really slow you down in the long run. Eventually, everything's so coupled that it takes weeks or months to add new features or fix bugs because you can't touch anything without breaking five other things.
As a mentor-of-sorts once told me, you end up feeling like the street sweeper after the parade
Of course, this is only rational if you know what you're building ahead of time, and that you'll need the things you're preparing to build
In most cases, I have seen people who do a project 100% correct, sometimes slightly slower get ignored.
Other people who get it done fast, even with many blaring mistakes, get rewarded. Usually the people who worked on it end up working 24/7 to get it fixed. That is looked upon by most managers as very good work.
If your projects go live without issues, it is usually forgotten, people who fix their own issues by putting in fixes after go-live by working 24 hours, get noticed and rewarded.