Ieri ho partecipato all’ennesimo colloquio. Negli incontri precedenti credevo di aver già visto tutto, ma mi sono dovuto ricredere. Questo è un breve racconto (ho riportato solamente alcuni spezzoni, quelli che fanno più ridere che piangere) di un colloquio kamikaze.

Legenda

  • M: Marco, che sarei io
  • X: il ragazzo a colloquio

Sono un vero sviluppatore e adesso te lo dimostro

M: Che applicazioni hai realizzato in Java?
X: Ho realizzato tre applicazioni: forza 4, campo minato e…
X: Dunque: forza 4, campo minato e…
X: Non mi ricordo il terzo
M: Non importa
(X continua a pensare ad alta voce)
X: Eppure erano tre, sul curriculum sono sicuro di averne scritti tre, ma ora non mi ricordo il terzo. Non è che posso vedere un attimo il mio curriculum?
(M consegna a X il suo curriculum stampato)
X: Ah si, un piccolo newsgroup client e server
M: Interessante. Mi racconti come hai realizzato quest’ultimo progetto? Che protocollo avete utilizzato per la comunicazione client-server?
X: Abbiamo usato TCP/IP
M: E a livello applicazione?
X: Come?
M: TCP è un protocollo di trasporto. A livello applicazione avete utilizzato un protocollo standard tipo NNTP o avete implementato un vostro protocollo custom?
X: Non saprei…
M: Come hai fatto ad implementare client e server, se non sai come comunicano tra di loro?
X: In realtà io ho scritto solo la documentazione, il progetto l’hanno realizzato altri.
X: Però forza 4 e campo minato li ho realizzati io!
M: Bene. Che libreria grafica hai utilizzato?
X: Mi sembra AWT. Esiste?
M: Non lo so, dovresti dirmelo tu se esiste
X: Mi sembra si chiami AWT o forse era Swing? Sono la stessa cosa?
M: Nuovamente: dovresti dirmelo tu cosa hai utilizzato e se AWT e Swing sono la stessa cosa
X: Non mi ricordo
M: Esistono entrambe, non sono esattamente la stessa cosa

Design pattern: roba d’altri tempi

M: Conosci altri linguaggi (così bene) oltre a Java?
X: Si, ho programmato in Beanshell
M: Non lo conosco. Che linguaggio è?
X: E’ come Java, però puoi scrivere codice male e lui lo interpreta ugualmente
M: A cosa ti riferisci?
X: Non devi specificare il tipo di una variabile e altre cose. Lui interpreta un codice uguale a Java, però lo puoi scrivere anche male…
(M non vuole immaginare quanto male riesce a programmare X)
M: E’ un linguaggio o un interprete Java?
X: Credo sia un interprete
M: La mia domanda era: che linguaggi conosci oltre a Java?
X: Nessuno

Manuale di programmazione a puntate

(disponibile nei fustini del Dash)

M: Hai realizzato altri progetti?
X: Ho creato una Google Map che suddivide graficamente le zone di una città
M: Che linguaggio di programmazione hai utilizzato per customizzare la Google Map?
X: Ehm, uhm… non lo so
M: Come fai ad aver realizzato questo progetto senza conoscere che linguaggio hai utilizzato?
X: Cioè, lo sapevo… ma ora non me lo ricordo
M: L’hai realizzato pochi mesi fa…
X: Non potete pretendere che mi ricordi tutto!
(X continua a pensarci un minutino, poi l’illuminazione)
X: Ah si! Ho usato AJAX!
(M pensa di rispondere: “mi dispiace, noi utilizziamo Dash, a volte con una puntina di omino bianco)
M: AJAX è un approccio alla programmazione web, ovvero un insieme di tecniche utilizzate per creare applicazioni web interattive e fortemente dinamiche. AJAX è anche un acronimo: in informatica ci sono molti acronimi. Ora, non pretendo e non mi interessa che tu sappia cosa significhi AJAX per esteso, ma almeno che tu conosca il significato della J, visto che è l’iniziale del linguaggio di programmazione.
X: Ma si, certo: Javascript!
M: Amen