Stop solving problems you don't have
Advice to my future self: don’t spend your time building software solutions to problems you don’t have.
This may seem like obvious advice, but repeatedly ignoring this advice has been a hallmark of your career.
When you’re trying to solve your own problems, other people seem to consistently find the things you do useful. Remember that time you built the QR code test login for developers on your team? You thought it would be useful, you built it within a day, and your teammates immediately found it useful. You knew exactly how you wanted it to work and you have pretty decent instincts.
There were two magic ingredients in the above story: you understood the problem well and you knew exactly who else would find your solution useful. That’s the magic of experiencing a problem first-hand.
Let’s be honest, though: it’s not always possible to solve problems that you have. If the world worked this way, software could only solve problems developers had, either inside or outside of their working hours.
If you’re trying to solve a problem that’s not your own, you better be close friends with someone who does have this problem and is willing to work with you on it. Like, sitting next to them, rubbing elbows. And not just “occasionally checking in”, but you should be working constantly with this person. When you make progress, they should squeal for delight because your progress is their progress. This approach may work, but it’s riskier than solving your own problem.
The scary and common situation you find yourself in is that you’re told about a problem by someone who doesn’t themselves have that problem, but they think or know of other people that have that problem. Heck, a lot of times that person is right. Even so, at that level of separation from the problem, you don’t have an easy way to find new customers and can’t get rapid feedback about the problem or any solutions you build. You end up spending most of your time solving anticipated customer problems rather than actual ones. Over time, your brain starts to think “why work hard if that work never goes anywhere?” and work becomes more and more of a slog.
Anyhow, I don’t mean to be a bummer. You’re good at the building part and you have good instincts about how to solve problems, but you’re pretty crummy at the problem selection part. I think if you can get a better handle on that, you’ll do fine.