Analisi | Dalla rete

Come riconoscere un bravo programmatore

luglio 15, 2010 by Giuseppe Maldarizzi | 0 Commenti

Leggendo il blog di Alessandro Bottoni mi sono imbattuto in questo post che ha subito attirato la mia attenzione.

Tratto da un altra discussione  - How to recognise a good programmer -  mette in evidenza sia i punti positivi per identificare un buon programmatore e sia quelli negativi che identificano il pessimo (?).

Questi gli indicatori positivi elencati nel post:

  1. Hanno una evidente passione per la tecnologia.
  2. Vivono la programmazione come un hobby.
  3. Se incoraggiati, vi parleranno di un qualunque argomento tecnico fino a sfinirvi.
  4. Spesso possono vantare numerosi progetti personali (alcuni dei quali spesso sono di una certa rilevanza) che hanno sviluppato nel corso degli anni.
  5. Studiano nuove tecnologie per conto proprio.
  6. Hanno una opinione precisa riguardo a quali siano le tecnologie più adatte per questa o quella applicazione.
  7. Sono molto a disagio di fronte all’idea di lavorare con qualche tecnologia che non ritengano adatta allo scopo.
  8. Chiaramente intelligenti, possono sostenere una conversazione su una grande quantità di argomenti diversi tra loro.
  9. Hanno iniziato a programmare molto tempo prima di arrivare all’università od al lavoro.
  10. Portano avanti qualche grosso progetto personale che non appare sul curriculum.
  11. Conoscono una grande quantità di tecnologie non correlate tra loro e non è detto che questa loro conoscenza risulti dal curriculum.

Sono rimasto abbastanza sorpreso nel leggere questo elenco soprattutto perchè mi rispecchio in quasi tutti questi punti (non per vantarmene... :) che sembrano elencare il percorso formativo e la mia passione per la programmazione che ho scoperto un passettino alla volta con lo studio personale, la curiosità e l'esperienza.

Vorrei aggiungere altri due punti secondo me indispensabili per il mondo del lavoro senza i quali anche il più bravo programmatore può trovarsi in difficoltà:

    12. Buone capacità di gestione del progetto

Non bisogna infatti essere dei manager per saper gestire un progetto. Anche se ogni programmatore deve sviluppare un modulo o due righe di codice, deve sapere in che modo quel codice andrà ad impattare il resto del progetto e con quali altri componenti deve interagire. Ognuno dovrebbe essere il manager di se stesso!

     13. Lavoro di squadra

Ognuno è convinto delle proprie idee che dipendono molto dalla propria formazione e percorso lavorativo. Importante però è fare del lavoro di squadra, non concentrarsi esclusivamente sulle proprie convinzioni ma ascoltare anche gli altri e raggiungere dei compromessi. Bisogna capire le esigenze di tutti ed adattarsi al tipo di progetto, al tempo a disposizione, al budget e alle conoscenze degli altri colleghi anche se secondo noi sarebbe meglio utilizzare altre tecnologie. E' grazie a questo comportamento che si fa esperienza (e magari alla fine scopriamo che è stato meglio così!).

Questi invece gli indicatori negativi:

  1. Vivono la programmazione come lavoro.
  2. Non amano avventurarsi in discussioni tecniche sui prodotti e le tecnologie, come quelle che si svolgono spesso davanti alle vetrine dei negozi, nemmeno se vengono incoraggiati a farlo.
  3. Studiano nuove tecnologie grazie ai corsi aziendali.
  4. Vi dicono che sono a loro agio con qualunque tecnologia voi decidiate di usare. Per loro, tutte le tecnologie sono buone.
  5. Non sembrano particolarmente svegli.
  6. Hanno iniziato a programmare all’università.
  7. Tutta la loro esperienza di programmatori è diligentemente elencata nel curriculum.
  8. Si specializzano in una o due tecnologie (per esempio java server-side) e non hanno nessuna esperienza al di fuori di quei settori.

Durante la mia esperienza di lavoro ho incontrato programmatori che rispecchiano molti di questi indicatori negativi ed ahimè la maggior parte anche laureati.

Molte volte mi sono chiesto come mai un ragazzo che si laurea in Ingegneria informatica non ha quel minimo senso di passione verso la programmazione. Poi parlando con alcuni di questi ragazzi ho capito che per rispondere bisogna tener conto dell'attuale sistema di lavoro e della società odierna per capire perchè esiste questo fenomeno. Un esempio?

Un laureato specialistico finisce gli studi mediamente a 25 anni, lo chiamano per uno stage dove lo sfruttano al massimo ma non impara nulla, gli propongono solo contratti a progetto fino ai 30 anni con un misero stipendio e senza la possibilità di farsi progetti perchè prima o poi potrebbero mandarlo a casa. E dopo? Gli dicono che è "troppo vecchio" e "costa troppo"... "c'è crisi"... "se lavora con Partita Iva (ma pagato miseramente) ti assumiamo"...

Ma come si può pretendere di avere dei buoni programmatori in queste condizioni? Forse è meglio limitarsi a fare il programmatore come lavoro e godersi il resto della vita senza pensare al codice !?

 

Aggiungi commento


(Visualizza la tua icona Gravatar)

  Country flag