The Job to Be Done
People don't buy a drill because they love drills. They buy a drill to make a hole. This distinction — obvious when stated plainly — shapes one of the most useful frameworks in product thinking: Jobs to Be Done.
The idea, developed by Clayton Christensen, is that users don't simply choose products. They hire them to make progress on a specific struggle. The job isn't the feature. The job is what the user is trying to accomplish when they reach for your software.
Most engineering focuses on making things faster, adding more features, adopting better technology. But these answer a question the user may not be asking. What struggle caused this person to open the app in the first place?
Two users might open the same app for completely different reasons. One is bored and needs a distraction — they're hiring it to pass the time. Another is stressed and needs to solve a specific problem quickly — they're hiring it to reduce anxiety. Same product. Different job. If you optimize for speed when the user wants calm, or add complexity when the user wants simplicity, you've built something technically better that serves the actual need less well.
This is why friction in a user's life is a more valuable signal than a feature request. Feature requests tell you what users think they want. The struggles that make them reach for your product in the first place tell you what they actually need. Build from the struggle outward, and you'll rarely waste time on the wrong thing.