I have worked with some who could seem to see the end result as the user would. It was sometimes fancy and clever but confusing to the user, especially if they weren't technical.
This is actually one of the key aspects of good software design. The designer has to remember that the user interface must do two things - it must be easy for an inexperienced user to learn how to navigate, whilst at the same time being powerful and flexible so that an experienced person can get what they need to get done with the minimum of fuss - but after the newbie has learnt what to do, they then don't need to be molly coddled any more, and there's nothing like an overly simplistic interface to get you annoyed when you're trying to get something done - using a car's sat nav for example.
IBM used to have quite a neat way of navigating through menus. If you knew where you were going you could just enter '"1.3.2.7", whilst leaving the newbies to go through all the screens and options one by one, but for some reason that approach seems to have fallen out of favour.
Fortunately for designers (but unfortunately for the luddites

) the level of expertise and familiarity with different interface types is growing very rapidly, so the number of people who really haven't got a clue and have to be catered for is rapidly reducing as even boomers and silver surfers prove themselves capable of learning 21st century skills
But you still see poor design crop up a lot in websites where you have do click on endless buttons to get anything done, or in AI Chatbots that have very poor parsing algorithms. Check out the Severn Trent AI for a particularly egregious example.
And of course we must be careful not to blame the software engineers when all they are doing is trying to implement completely ridiculous business rules inflicted upon them by clients who really haven't got a clue about how businesses need to run these days...