Exeptional UI skills (both the design and the implementation of it) require taste, which isn't something you can just learn. You either have it, or you acquired and cultivated it. I've seen this time and time again: Great developers producing awfully horrible UIs. They sense that something doesn't 'look right' but can't fix it.
It's usually a culmination of things, starting with basic layouts issues, spacing/margins off, wrong logical grouping/clustering of information on screen, off color schemes, the entire gamut. That, and a low tolerance for precision work. They would obsess over shaving off another fraction of a millisecond on a backend server transaction (nothing wrong with that, btw), but if something is a few pixels off, "who cares". Well, everyone who has to stare at your UI...
It's also noteworthy that UX designers who rely on other developers to actually implement their designs get much more frustrated with such developers...
Long story short, trying to shoehorn 'back-end' developers into UI jobs is a recipe for a crappy user experience.
Doing CSS and HTML is completely different than programming and its frustrating to go back and forth between the two. For example, if I'm tasked with fixing some bug or implementing a feature to where I have to write Java code and then also write some JavaScript (such as an AJAX) app, then also do HTML and CSS, by the time I get the functionality working with the Java / JavaScript code it can be hard to focus on that CSS / HTML.. sometimes doubts start to creep in about the code, things you want to double check, etc, thinking about maybe making small optimizations, etc, basically I think most engineers simply don't want to think about the HTML / CSS layout stuff because thats not what they're paid to do, for the most part, and if they make a mistake in the server-side logic, for example, by putting in something to where its not adequately supporting concurrency and data loss / corruption occurs, this is going to get them into a lot more trouble (damage reputation, etc) than if they messed up the spacing on the HTML page.. bottom line is if you want a UI done well then hire someone who spends all their time thinking about that sort of thing
It's also noteworthy that UX designers who rely on other developers to actually implement their designs get much more frustrated with such developers...
Long story short, trying to shoehorn 'back-end' developers into UI jobs is a recipe for a crappy user experience.