Se vogliamo analizzare la cosa tramite il modello a cascata dello sviluppo del software, avremo i seguenti stadi:
- Requisiti
- Analisi
- Disegno
- Produzione
- Testing
Il progettista è fondamentale nelle prime 2 fasi, ovvero la raccolta dei requisiti e l'analisi di fattibilità.
La fase successiva, quella del disegno, è a mio avviso quella di passaggio, dove il progettista ed il capo/capi programmatori devono assieme definire gli oggetti, le classi, le interfaccie, le relazioni ecc...
Poi la palla passa ai programmatori veri e propri con la produzione. Non per sminuire questa fase (io adoro programmare) ma è noto che solo il 15% del tempo totale impiegato è riservato alla fase di coding. Alla fine c'è il testing, eseguito da una categoria mista di programmatori (che non hanno partecipato attivamente alla stesura del codice però) e beta testers.
Quindi, il progettista è fondamentale nelle prime fasi, mentre il programmatore è determinante nelle fasi finali.Chi sia il più importante non è secondo me una questione da porsi: nessun software ben progettato va bene se è mal programmato, e per quanto un software sia esente da bug non sarà mai eccellente se la sua progettazione è scarsa.
E per quanto riguarda ing. vs info ...ma che importanza ha? Ognuno sceglie la sua strada e l'importante è trovare un lavoro che piaccia (e possibilmente ben retribuito

)
ALoha!