After reading up on user interface on StackOverflow, the conclusion turned out to be that software developers tend to be extremely bad at product design, making most of the times interfaces that are not natural to the user. However, there is a trend for programmers to automate every single step in testing their product, not giving them enough experience with it.
In my humble experience, there is nothing like testing the flow of your application yourself. Are you making a website? Then go through the process of registration dozens of times. Are you making a game? Then I expect you to have top high scores after playing for so long. Look for bugs manually, it might feel like a waste of time but it will provide you with a deep insight of how the user sees your app. Most of the features I have come up with are the result of hours of using my products.
Every developer should be deeply concerned with user experience and this is only achievable through being your own user. Need ideas for a new feature? Run into a problem while being a user. However, I reckon that graphical design is highly difficult for a programmer but web design trends are to make simple screens with constant feedback to the user. This should be enough to test your product with some people, and only if it takes off hire a designer. Be naive, be playful, explore the limits of your application by being a user.