Today, I was talking with a product manager who shared a critical insight in a succinct way:
I'd rather have a terrible answer to the right problem than a brilliant answer to the wrong problem.
Almost every senior developer has had the experience of building something that never saw the light of day. A big miss - building a solution to the wrong problem.
So much of building good software is about figuring out the right problems to solve. If you're writing beautiful code that nobody will ever use, then that's a waste of time.
On the other hand, you can write some crappy code that gets the job done. If you're building something useful, you can always iterate and improve your crappy code later.
Picking the right problems is a skill that you can get better at. It's a super valuable skill. Unfortunately, in my experience, it can also be rare!