As a computer scientist & user interface designer, I spent a lot of time trying to make it easy for people to use products. Depending on the target user, from technical people to grandma, you try to assume/determine what they know more or less as a reference point for the design. Developers tend to be poor at judging target users abilities. Many times they don’t care or are lazy and would rather not try to determine a user's perspective. Sometimes the developer, being technical, understands the interface and does not see why other people can't or expects them to suck it up and figure it out. Developers frequently have a tendency to do that to each other with regard to understanding the code itself. I’ve had many discussions/debates about interfaces, screens, menus, dialogs, tree controls etc...that programmers argued I was splitting hairs and users would get it as it is currently.
Small hairs to developers are usually pretty big to a consumer of a product. I always favor trying to make it easier as much as possible. When made to observe users struggling with interface most developers will understand but many times developers are not exposed to users.
Always favor the human.