È facile per manager e clienti apprezzare ciò che possono vedere.
Ho visto molti sviluppatori di GUI che sono programmatori medi con una conoscenza minima dei principi di progettazione o altri idiomi di programmazione. Tuttavia, queste carenze spesso passano inosservate, specialmente dalla direzione e dai clienti, se il programmatore può creare un'interfaccia utente dall'aspetto impressionante. Tanto che molti sviluppatori di GUI che conosco trascorrono ore ad abbellire la GUI a scapito della scrittura di codice non valido e non gestibile.
D'altro canto, i programmatori di livello medio che sviluppano API o funzionalità di business o codice di database (SQL ecc.) sono svantaggiati in quanto non c'è nulla di tangibile da mostrare. Forse un recensore di codice o un architetto possono apprezzare l'eleganza, il buon design, la scalabilità, ecc. Del codice, ma non significa nulla per il mondo esterno. Il tuo codice può funzionare per anni senza interruzioni, può essere molto facile da mantenere e avere buone prestazioni, ma non suscita mai il 'wow' che fa una GUI slick.
A mio parere, un corollario di questo è (e ho intenzione di essere pesantemente downvoted per questo, lo so) che c'è meno motivazione per un programmatore della GUI di scrivere un buon codice pulito.
EDIT : Devo spiegare qui che per programmatore GUI non intendo un vero e proprio progettista web / GUI ma un programmatore front-end, ad esempio un programmatore java-swing.
Il resto della comunità è d'accordo?