Parliamone poi della qualità di buona parte dei programmatori laureati in informatica....figuriamoci gli ingenieri poi
Parliamone poi della qualità di buona parte dei programmatori laureati in informatica....figuriamoci gli ingenieri poi
Gli incompetenti ci sono anche tra gli ingegneri.
Ma se parliamo della qualità della buona parte dei programmatori diventati tali sul campo o facendo corsi non è che stiamo messi meglio.
Senza contare che ingegnere e programmatore sono figure differenti. Che poi le ossa un ingegnere debba per forza farsele passando per la programmazione è un discorso diverso.
Ho imparato che quel che conta sono la passione e l'impegno, non la necessità, nè tantomeno il titolo e neanche che le ossa uno debba farsele per forza.
Sono d'accordo, per questo dico che anche un ingegnere può essere tranquillamente un incompetente.
Quello che dico però è che l'ingegnere (informatico ovviamente) gode di una preparazione circa le tecniche di analisi e progettazione del software che un programmatore "fatto sul campo" non ha, a meno di non aver studiato per conto suo o aver fatto dei corsi.
Sulla base della mia esperienza fatta ti posso dire che ho incontrato diversi programmatori davvero in gamba, ma a livello di progettazione (che è un aspetto fondamentale) il fatto di non aver compiuto un certo percorso di studi penalizzava comunque la qualità della applicazioni da loro realizzate, poichè mancavano completamente di certi concetti di ingegneria del software necessari se si vogliono rispettare i soliti standard qualitativi (riusabilità, scalabilità, flessibilità, ecc.).
Bè c'è chi è un manico a fare le architetture, chi ad ottimizzare il codice, chi preparatissimo in matematica e chi ad usare delle particolari api. Non è un reato non essere in grado di buttar giù le architetture, quanto invece non avere l'umiltà di capirlo e mettercisi sotto per imparare.
Secondo me dipende tanto dagli ambienti(lavorativi e non) in cui giri, perchè ingegneria del software, per quotarti, la fanno in informatica ed anche in ingegneria però se non studi e non la applichi poco importa se passi l'esame.
Però al di là di esempi e controesempi con i quali potremmo andare avanti anche 10 pagine, direi che sì, la cosa importante è la passione.
Questo vale in tutti i campi e tutti i lavori.
... ed é difficile essere entrambi: spesso il 'fanatico' del design del software preferisce puntare sulla riusabiltá, modularitá e mangia pane e pattern a colazione.. Tutte cosa che se seguite ciecamente tendono ad allontanare non poco dal discorso ottimizzazione: E qui entra il gioco il fanatico dell'ottimizzazione che in nome delle prestazioni preferisce hardcodare/spaghettare il tutto perché veloce > riusabile.Bè c'è chi è un manico a fare le
architetture, chi ad ottimizzare il codice,
Son due modi di pensare difficilmente conciliabili in una sola persona ( se non scendendo a compromessi del tipo, ottimizzare e 'sporcare' le parti g/cpu/mem bound critiche e lasciare pulita ed architetturalmente solida l'infrastruutura che ci gira intorno.. Ma entrambi storcerebbero il naso )
Di solito la differenza la nota quello che metterà le mani sul codice "ottimizzato" da altri... ed é difficile essere entrambi: spesso il 'fanatico' del design del software preferisce puntare sulla riusabiltá, modularitá e mangia pane e pattern a colazione.. Tutte cosa che se seguite ciecamente tendono ad allontanare non poco dal discorso ottimizzazione: E qui entra il gioco il fanatico dell'ottimizzazione che in nome delle prestazioni preferisce hardcodare/spaghettare il tutto perché veloce > riusabile.
Son due modi di pensare difficilmente conciliabili in una sola persona ( se non scendendo a compromessi del tipo, ottimizzare e 'sporcare' le parti g/cpu/mem bound critiche e lasciare pulita ed architetturalmente solida l'infrastruutura che ci gira intorno.. Ma entrambi storcerebbero il naso )
Solitamente si spaghetta solo roba che non andrà rimodificata in futuro.... ed é difficile essere entrambi: spesso il 'fanatico' del design del software preferisce puntare sulla riusabiltá, modularitá e mangia pane e pattern a colazione.. Tutte cosa che se seguite ciecamente tendono ad allontanare non poco dal discorso ottimizzazione: E qui entra il gioco il fanatico dell'ottimizzazione che in nome delle prestazioni preferisce hardcodare/spaghettare il tutto perché veloce > riusabile.
Son due modi di pensare difficilmente conciliabili in una sola persona ( se non scendendo a compromessi del tipo, ottimizzare e 'sporcare' le parti g/cpu/mem bound critiche e lasciare pulita ed architetturalmente solida l'infrastruutura che ci gira intorno.. Ma entrambi storcerebbero il naso )
Altrimenti so cazzi.
....una legge di Murphy dice che più il codice lo si fa riusabile più è facile che non venga più riutilizzato...
Mah...non sono d'accordo: si può scrivere un codice altamente ottimizzato pur seguendo un'architettura ben specifica, tant'è che l'architettura è appunto tale, l'implementazione è un altro discorso.... ed é difficile essere entrambi: spesso il 'fanatico' del design del software preferisce puntare sulla riusabiltá, modularitá e mangia pane e pattern a colazione.. Tutte cosa che se seguite ciecamente tendono ad allontanare non poco dal discorso ottimizzazione: E qui entra il gioco il fanatico dell'ottimizzazione che in nome delle prestazioni preferisce hardcodare/spaghettare il tutto perché veloce > riusabile.
Son due modi di pensare difficilmente conciliabili in una sola persona ( se non scendendo a compromessi del tipo, ottimizzare e 'sporcare' le parti g/cpu/mem bound critiche e lasciare pulita ed architetturalmente solida l'infrastruutura che ci gira intorno.. Ma entrambi storcerebbero il naso )
Ho visto cose davvero incredibili in questi ultimi mesi ed il tutto di una pulizia(logica e di architettura) incredibile.
Dipende dal contesto di lavoro.
Io faccio il consulente, ho lavorato sia per SDA Express Courier sia per l'INPS.
E ti assicuro che può cambiare di TUTTO.