domenica 13 gennaio 2008

A 9 anni codavo con il C64.

Una gustosa segnalazione di StackTrace riguarda un ottimo post scritto da tale Daniel Tenner circa le qualità che dovrebbe possedere un buon programmatore e che dovrebbero essere analizzate da chi vuole assumerlo.

Le caratteristiche fondamentali che Daniel indica sono

  1. passione, ovvio requisito per essere perito in qualunque professione
  2. autodidattica e amore per l'apprendimento, tipico di una certa mentalità geek che evidentemente è positiva nel campo informatico
  3. intelligenza acuta, e mi sembra palese che nessun programmatore abilissimo risulti essere uno stupido in tutti gli altri campi
  4. esperienza nascosta, ovvero una quantità di piccoli progetti personali portati avanti nel tempo libero in pieno stile hacker
  5. conoscenza degli ultimi ritrovati tecnologici, in maniera così aggiornata da far trasparire l'entusiasmo con cui ci si aggiorna
Traspare immediatamente il concetto che il programmatore è più un artista che un operaio, un fanatico dedito al suo lavoro con passione e competenza, in cui riesce a riversare la creatività necessaria per eccellere.

Personalmente ho letto con piacere il post originale, ritrovando parecchi miei atteggiamenti nella descrizione dell'autore.

Forse sono sulla strada giusta...

4 commenti:

lupino3 ha detto...

Veramente vorresti essere definito programmatore?

Sono sicuro che, come me, aspiri a qualcosa di più. :)

Torno alle reti neurali.

della ha detto...

Io direi anche più inventore che artista... qualsiasi progetto software innovativo, per definizione, vuole dire fare qualcosa che non è mai stato fatto (quelli non innovativi, nel mio mondo ideale dove esiste solo il software libero, non avrebbero senso di esistere).
Questo è il motivo per cui secondo me, per rispondere a lupino, la barriera tra il ricercatore e il buon programmatore dovrebbe essere labile.

Questo è anche il motivo per cui l'ingegneria del software (quella del waterfall e della stima dei tempi di consegna, per capirci) mi sembra sbagliata a partire dal nome stesso. Per sapere quanto tempo ci vuole e quanto costerà fare qualcosa, bisogna averla già fatta prima. Questo si può fare quando bisogna tirare su un muro o costruire un ponte, non quando si devono fare cose nuove.

Ovviamente, la parte che comprende i "trucchi del mestiere" (es., i pattern...) invece la trovo del tutto valida.

maelstrom ha detto...

Personalmente mi è piaciuta sempre di più la parte più descrittiva dell'ingegneria del software (modelli architetturali, patterns, metodologie di programmazione) rispetto a quella di gestione aziendale... ed è proprio perchè devi "fare cose nuove", ovvero inventare, essere creativo.

E poi lo sappiamo che non hai mai seguito un corso di ingegneria del software :-)

Oscaruzzo ha detto...

Il programmatore e` un artista. Il problema e` che la parola sta cambiando di significato per indicare gente di profilo sempre piu` basso che, originariamente, semplicemente non esisteva.