Listen to non-users!
One of the most important things about a program, framework, library, or programming language is how easy it is to get started using it. Unfortunately, the first impressions authors get from users is after the users have already surmounted some initial obstacles. In effect we are only seeing the second or third worst problem with the system we built. The really bad problems, the ones that make some proportion of potential users give up before telling us anything, those problems are hidden from us.
I often argue for these hidden users and get very little sympathy from long time users. We get a survivor bias that makes the survivors very confident in stating there is no problem. How can there be a problem? The system has many users after all! And the person we are talking to right now is one of them!
For example in Python, it’s hard to argue that the most widely used and successful programming language in the world should make painful backwards incompatible changes that mostly hurts users you never heard complaints from. We often have to use our imagination to hear those users, and to see how much bigger Python could be if we made it a little bit easier for beginners to get started.
I think these voices are maybe the most important, even though they are incredibly hard to hear.