There comes a point where impossible to leave code in a better state without a major refactor.
The choice is between writing a few ugly if statements making the code a little worse or spending 10x the time refactoring hoping you don't introduce any regressions.
The argument is if you specialize in young women's clothing, instead of trying to micro target messaging to different personas, have a single message that can work with everyone you are trying to sell to.
I often use the 80/20 rule to push back against requirements from product managers.
Identify the features that are hard to implement and provide little business value then cut them out. For the things that are important, I see if there are any adjustments to the requirements to make it simpler.
It usually an easy sell because it results in getting out the product faster. We can always do the nice to have stuff as a follow up, but more than half the time, they realize they never needed it.
If done strategically, it can prevent adding tech debt in the system.
I know everyone learns differently, but I gained most of my programming skills just from programming.
You will study other people's code on the job and code reviews provide coaching.
Chess is much harder for me because I don't have the discipline to study like that.
With coding, I can read a quick blog post or follow a tutorial, then immediately start incorporating ideas into my work.
In chess, if I study something, I might not encounter a situation where I can use that knowledge in game for a while. I don't get that immediate reinforcement so I forget things much easier.
I've A/B tested hiding functionality and reducing info density increased the number of people spending money on the site.
I was completely shocked by seeing those results initially and dove deep to look for any other negative effects from these changes but could not find any. I've repeated similar tests and the results are often similar.
From that experience, I've learned that most people are not like me or the HN crowd. The things that you complain about could actually make things easier for the majority.
Instead try to understand what others really care about and frame the discussions around that.