I quite often mention my thesis that modern software can now only be used if you're a developer or tester yourself. Because any normal person who doesn't think about how this software works under the hood is doomed to catch all the unconsidered corner cases along their customer journey.
Well, that is, we as developers apply, of course, all our efforts so that they're covered in our applications. But we live in a world where there are already millions of applications, and everything is bad there. And everything is bad for us too, despite the fact that we're trying. Corner cases are the prerogative of the strong and rich, and everyone else doesn't care about them due to lack of resources or competencies. 🎲
It's clear that if you use some Android Studio every day, then you already know all the bugs inside and out. You can afford to spend a bit of time with your working tool on how it works. But on average we, and even more so our ordinary relatives and friends, spend more time on some random sites, in some applications where we go to do one specific task. Along this path you usually feel like you're walking like a sapper trying not to get blown up. The further you go down this funnel, the scarier it is to press each next button. 💥
I formulated for myself the basic rule of use, which greatly reduces the probability of problems. It's absolutely banal. Don't click anything while some loading is going on or a loader is spinning somewhere. Even if it's not spinning, it's better to throttle in your head a bit and do everything with a delay, otherwise what if it was actually loading, just forgot to tell you about it. Under this same rule falls not clicking everything several times in a row, like QA loves to do.
Or generalized: before performing any action you need to make sure that the system state is stable, not temporary. Otherwise you risk being a user whose scenario no one tested.