É fácil para gerentes e clientes apreciarem o que podem ver.
Eu já vi muitos desenvolvedores de GUI que são programadores comuns, com conhecimento mínimo de princípios de design ou outros idiomas de programação. No entanto, essas deficiências geralmente passam despercebidas, especialmente pela gerência e pelos clientes, se o programador puder criar uma interface de usuário impressionante. Tanto é assim que muitos desenvolvedores de GUI que conheço passam horas embelezando a GUI à custa de escrever códigos ruins e inatingíveis.
Por outro lado, programadores de camada intermediária que desenvolvem APIs ou funcionalidade comercial ou código de banco de dados (SQLs etc.) estão em desvantagem, pois não há nada tangível para mostrar. Talvez um revisor de código ou um arquiteto aprecie a elegância, o bom design, a escalabilidade etc. do código, mas isso não significa nada para o mundo exterior. Seu código pode funcionar por anos sem quebrar, pode ser muito fácil de manter e ter um bom desempenho, mas nunca provoca o 'uau' que uma GUI de aparência elegante faz.
Na minha opinião, um corolário disso é (e eu vou ser muito criticado por isso, eu sei) que há menos motivação para um programador de GUI escrever um bom código limpo.
Edição : Devo explicar aqui que, por programador de GUI, não me refiro a um designer de web / GUI completo, mas a um programa front-end, por exemplo, um programador de Java-Swing.
O resto da comunidade concorda?