I think programming's a bit different - with an ugly design, the customers see it and know it's ugly. If a software application works fast and flawlessly, the customer sees that it just works, and it doesn't matter if the code has been neatly organized and arranged underneath.