As programmers we can solve very complex problems, but then, when we have to design a user interface we tend to fail on making them easy to use. In small companies they cant afford having designers and UX experts, programmers have to do almost everything in the software. But these interfaces are rarely intuitive (the classic example).What is the problem? How can developers improve their skills in designing good user experiences?
How can programmers improve their UX skills?
ui;user experience
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 limitationsask and listen to people who claim to know about these thingswhen unsure, google it and look for authorative answersBy 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.Tl;dr: KISS