I believe any engineer can create good UI. With basic communication skills, anyone can come up with reasonable words to describe user actions. Desktop applications provide numerous example patterns for the use of common UI elements such as radio buttons, checkboxes, toolbars, and palettes.
Anyone can informally watch a new person use the software. There are plenty of candidates: your non-geek friends and loved ones, a product manager or marketing folks. Bad UI is a bug.
Great UI is something else entirely. Great UI requires inspiration. For graphical user interfaces, it requires someone who can do visual problem solving, someone who understands that the design needs to change depending on whether there are 2, 3, 4 or N elements. Visual problem solving requires an understanding of how shading, color, shape and placement affect our perception. Its amazing how a few pixels can dramatically alter the effectiveness of a UI element. It’s important to know all of the cookie cutter solutions offered by standard UI toolkits and why they work, when to use them and when not to.
This person is not simply a designer, nor is he or she often a “usability” expert, as our industry commonly defines the role. Usability testing confirms or refines a great UI, but I’ve never seen it generate one. True usability experts can not only find flaws in a bad UI, but can create great user experiences.