Se si entra nello specifico del mondo del software, l'80% è fatto dai commerciali, il resto dalla qualità del software.
Pensa a microsoft. Ha un quasi monopolio per 2 motivi: 1) E' ovunque 2) ti vendono la merda come se fosse oro.
Chi ha reali necessità di avere software di qualità valuta le alternative, e trova altri sistemi operativi.
Più generalmente, un'azienda con particolari richieste in fatto di software valuta le varie offerte e pretende di avere il risultato X.
Quando valuta le offerte non valuta la qualità di un software che magari non esiste ancora (glielo si sviluppa ad hoc, quindi a parole son bravi tutti) ma valuta i tempi, i soldi che deve spendere, l'assistenza che riceverà e per ultima la fama dell'azienda che gli fornisce il software.
Quando parlo di me come programmatore valido io parlo di uno con le mie capacità, la mia esperienza e i miei risultati al lavoro: uno con questo profilo vale oggettivamente molto di più, econdo il mercato un po' più di quello che percepisco. Io contesto la valutazione del mercato perchè tale previsione si basa su un mero rapporto tra richiesta di lavoro e offerta di lavoratori, invece che far entrare in gioco una qualità del prodotto che a priori è impossibile determinare: proprio per questo, uno con determinate caratteristiche dovrebbe essere indice di buon software.
Sempre rimanendo nel mio caso, non posso mettermi a fare concorrenza alla mia azienda perchè quello che sviluppo per loro è riservato e sarebbe concorrenza sleale... te lo dico perchè io e i miei colleghi avevamo realmente pensato di realizzare in proprio una parte del software solo per accellerare e facilitarci il lavoro, che per la nostra azienda era considerato come una perdita di risorse e basta (se dici che per 1 mese di sviluppo devi stanziare 100k euro, non ti conviene farlo per ottenere solo alcuni benefici... le cose cambiano se il budget è 10k euro, ma un'azienda di questo tipo non fa i miei calcoli per i budget

)