User Happiness Should Not Be The Goal
Everyone just wants to make a product that will entertain people. Make them happy. It's a great goal, on the surface. How could spreading joy through code be a bad thing?
We live on a planet with almost 8 billion people. Trying to define happiness and make people happy is a futile effort.
Happiness is Nebulous, Programming is Concrete
Computers are unconscious genies. They do exactly what you ask them to do, no more and no less, and this is where they excel. (Ok, sometimes they're not quite as deterministic as all that, but that's the goal) It can be frustrating at first, learning to phrase your needs in excruciatingly specific ways. But this is a feature, not a bug. By focusing on task execution and giving the user what they ask for, not what you think they will like the most, you program better and quite frankly more ethically.
From a purely programmer point of view you will:
- Tighten the scope
- Simplify the code
- Have concrete tasks laid out in front of you already
Programming for User Happiness/Engagement is Literally Destroying Democracy
When computers try to make us happy, they tell us what we want to hear. I don't think I need to flesh out this point much more than to say, look at