I have encountered this problem many times in my career - the trick is to first be aware that it is a problem, and acknowledge it. Once you've done that, it's easier to stop making overly complex interfaces.
The user interface is also a part of software engineering, but perhaps for many software engineers not as much interesting. However, there are many interesting challenges related to this, and they can probably be as interesting as more technical challenges, in my experience.
Usability, user experience design (UX), human-computer interaction (HCI) - it's not magical, and it is a part of the software development process.
My tip is to:
- acknowledge your limitations
- ask and listen to people who claim to know about these things
- when unsure, google it and look for authorative answers
By following these simple principles over the years, I have actually accumulated useful information on how to build user interfaces, how people interact with software, and how they think when they're using it. I am by no means an expert, but I probably know a little bit more than your average programmer.