Newsgroup: it.lavoro.informatica
Titolo: Wannabe Code Monkey

Ciao a tutti.
Volevo condividere con voi un'esperienza di oggi, e la riflessione che 
l'accompagnava, e inoltre, chiedervi delle vostre esperienze. Questa mia 
esperienza è solo la chiave di volta per un altro discorso, più importante, 
ma se non la racconto, il discorso rimane incompleto.
 
Sono programmatore, con pluriennale esperienza, conosco diversi linguaggi, 
ma negli ultimi anni a causa di seri problemi di salute sono spesso 
"inchiodato" in casa, e anche quando esco, esco poco. Di conseguenza anche 
il numero di progetti che posso prendere è crollato, e le entrate, potete 
immaginare... Di tanto in tanto cerco di tamponare con le lezioni private. 
Mi sono capitati come alunni alcuni professionisti, che volevano imparare 
qualche altro linguaggio, e questi generalmente sono clienti migliori: 
motivati, sanno che devono lavorare duro, ecc. Ma di solito imparano in 
fretta, e non li vedo più. Poi, mi è capitato qualche studente svogliato 
(generalmente a questi dico di cercarsi qualcun altro), e il resto sono o 
dei caproni o dei veri e propri casi umani. O entrambe le cose. Ci sono 
persone disoccupate, incapaci di fare qualsiasi cosa nella vita e guarda 
caso, hanno pensato di provare a riciclarsi come programmatori. Anche questi 
generalmente li consiglio di rivolgersi altrove, ma questa volta (salute, 
quella che è, e il conto in rosso) mi hanno portato a mordermi la lingua e 
di accettare. Con risultati che lasciano a bocca aperta...
 
Il tizio voleva imparare JavaScript. Diceva che conosceva già HTML e che 
aveva già fatto corsi di JavaScript online ma che non ci capiva niente. 
Confermo. Abbiamo preventivato un numero sostanzioso di ore, max 4 alla 
settimana (2 x 2), ma gli avevo raccomandato che a casa sua, da solo, doveva 
fare almeno il doppio. E che tutti gli esercizi fatti insieme li doveva 
RIFARE in autonomia, che non bastava guardarli e (pensare di) aver capito. 
Per togliere il rumore di fondo e la distrazione che le pagine web avrebbero 
potuto creare nella fase iniziale di apprendimento, gli ho fatto installare 
SpiderMonkey, e gli ho insegnato tre istruzioni per stdio: print(), putstr() 
e readline(). Il resto era EcmaScript standard, dunque: var, if, for, 
function, return, ecc. Inutile dire, le funzioni banali come add(x,y) e 
simili, non le ha mai rifatte, tanto che ogni singola volta mi chiedeva 
qualche cosa banale, diq euelel cose già fatte, che una persona che aveva 
fatto le cose in autonomia non avrebbe chiesto. Più volte gli avevo detto 
che lui poteva ingannare se stesso, ma che non poteva ingannare me, che non 
sarebbe mai diventato un programmatore, e gli ho consigliato, invece di 
spendere soldi e tempo, di provare a trovare qualche lavoro che realmente 
sarebbe stato in grado di svolgere. Nulla da fare, lui vuole lavorare come 
programmatore. Sei incontri, andati sostanzialemnte a vuoto. Quelle cose che 
ogni volta gli ho ripetuto per almeno 5 volte (come la sequenzialità delle 
istruzioni e che non poteva mettere le istruzioni a cazzo di cane), come se 
non glielo avessi mai detto.
Quando gli ho ribadito che doveva non solo rifare gli esercizi che gli avevo 
risolto io, ma anche cercare altri, sapete cosa mi ha risposto? Che li 
cercava ma no li trovava?!?! In JavaScript?!?!?! Fosse stato un oscuro 
linguaggio di nicchia, ma JavaScript?!?!?! Una veloce ricerca su Google e 
saltano fuori milioni di pagine. Eh, si, ma non erano esercizi come quelli 
che voleva lui. Gli ho ripetuto che non aveva la forma mentis per fare il 
programmatore.
E anche per questo motivo, menzionato nel paragrafo precedente, oggi gli ho 
detto di cercarsi qualcun altro, che gli avrebbe fatto vedere qualche 
animazioncina in JS e che gli avrebbe dato l'illusione che avesse capito 
qualcosa, ma che in realtà non avrebbe capito niente, e che lui come 
programatore non ci avrebbe mai lavorato. Non gli ho detto (forse dovevo) 
che al massimo poteva aspirare a fare un Code Monkey di quelli che innondano 
StackOverflow con domande banali, ma sarebbero stati discorsi troppo 
complessi per lui. Mi sono beccato qualche insulto, poi gli ho detto di 
andare a zappare ed è finita lì.
Fine sfogo, scusate...
Però, la cosa mi ha fatto riflettere. Nelle ultime settimane mi sono 
capitati, come già detto, diversi casi umani, veri e propri. Per esempio, 
qualche settimana fa, un musicista, studiato al conservatorio, ora con una 
malattia neurologica degenerativa che non gli permette più di usare una 
mano, mi ha detto che gli avevano suggerito di diventare programmatore. E 
altri casi simili di persone che nulla hanno in comune con l'informatica. 
Poi, ci sono stati anche dei Code Monkey "stagionati". Uno per esempio che 
da anni lavora come consulente JavaEE in una banca e che voleva imparare 
Scala. Volevo vedere il suo livello di conoscenza di programmazione sia 
imperativa che dichiarativa, e gli ho dato un esercizio banalissimo: fare 
una funzione (in Java) che calcoli il fattoriale di un numero intero. E gli 
ho chiesto di fare due versioni: una iterativa e una ricorsiva. La ricorsiva 
non era in grado di farla, e l'iterativa l'ha completata dopo una 15-na di 
minuti e con il mio aiuto. No comment.
Potrei tirare fuori casi simili a tonnellate, ma non vale la pena.
Ho lavorato sempre come freelance, sia presso clienti, sia consegnando 
progetti chiavi in mano e magari avevo un campione rappresentativo 
sbagliato, ma non avevo idea che questi Code Monkey fossero metastatizzati 
così tanto, anche nelle aziende importanti (ovvero, mi ricordo di una fase 
così durante la bolla speculativa dotcom, ma dopo lo scoppio della bolla un 
po' di purghe, per fortuna, ci sono state). Ed è spaventoso vedere anche 
quanti wannabe Code Monkey bussano ancora alle porte.
 
Quali sono le vostre esperienze? Avete questa gente nelle vostre aziende? 
Sono stati presi per disperazione, perché manca gente competente, sono stati 
presi perché costavano poco e anche se producono poco e fanno danni vanno 
comunque bene, o per entrambe le ragioni? O per qualche altra ragione? Come 
fate voi a gestire i casini che combinano? 
 
Ciao.
 

 Come fate voi a gestire i casini che combinano?
 
In entrambi i casi non e' piu' un mio problema.
Comunque, data la motivazione, non c'era molto da fare: tamponare dove 
si poteva, lasciar perdere nel resto dei casi.

 fate voi a gestire i casini che combinano?
 
La mia ex-azienda ci ha messo su un business milionario. Senza bug non 
avrebbe campato, perché si faceva pagare le marchette per ogni bug che 
il cliente gli apriva su Remedy...
 
M.
 

 fate voi a gestire i casini che combinano?
 
Nessuna delle aziende per le quali ho lavorato negli ultimi anni ha mai 
preso nessuno per disperazione. Il costo a valle, proprio per i disastri 
che combinano e la difficolta` di gestirli, e` troppo alto. Gia` gestire 
i bravi e` difficile (sono team leader e lo so), figuriamoci le pippe.
 
-- 
4ndre4

 si poteva, lasciar perdere nel resto dei casi.
 
Purtroppo...
 
Grazie per la risposta.
 

 M.
 
Da rabbrividire... :-(
 

 qualche altra ragione? Come fate voi a gestire i casini che combinano?
 
Me ne sono capitati un paio anni fa quando lavoravo in Italia. Uno 
piangeva di notte e di giorno chiedeva a me (!) se aveva sbagliato tutto 
nella vita. Era stato assunto come consulente web e non sapeva cosa fosse 
un web service. Cacciato via a calci in culo, ha fatto un concorso e 
finito a insegnare informatica alle superiori (!!).
 
Un altro si faceva tre canne al giorno e due volte alla settiamana andava 
a puttane. Diceva che senza mignotte e canne non poteva programmare. Pure 
lui mancava delle basi delle basi, evidentemente troppe poche canne e 
mignotte.
 
Qua in Austria me ne sono capitati un paio come tester, entrambi in crisi 
di identità, senza sapere cosa fare nella vita, depressi e incapaci. 
-- 
Soprano

 i bravi e` difficile (sono team leader e lo so), figuriamoci le pippe.
 
Vero...
 

 finito a insegnare informatica alle superiori (!!).
 
Grrr....Chissà se mi sia capitato anche qualcuno dei suoi alunni. :-)
 

Il 08/04/2017 14:38, Rolf ha scritto:
 
Caro Rolf bel post.
Ma io a detta di qualcuno sono un troll
Come troll devo fare il mio mestiere.
Mi fa piacere che hai questa /alta/ opinione dell'informatica
e mi dispiace che in questo momento non puoi esprimere a pieno le tue
qualita'.
Come in qualsiasi /insieme/ tale insieme segue abbastanza le regole 
della curva a campana.
La natura ha bisogno di predatori e di prede.
Non esistono gli uni se non esistono gli altri.
Cosa strana talvolta i predatori possono essere anche prede.
Ne sanno qualcosa i felini, praticamente in via di estinzione,
per /merito/ di una specie onnivora e cannibale.
Tranne i felini /pet/ (gran paraculi).
Io ho sempre rispettato tutti anche le /zucchine/ (come direbbe
qualcuno che conosco) non ho mai rispettato coloro che si dicono
onniscienti -fosse pure il padreterno-
Ricorsiva ? Iterativa? Puo' servire? Serve? A chi serve?
 
Cosa fa la mia azienda?
a) Fa software.
Ha probabilmente bisogno di una struttura /capace/ .
Struttura brava significa che ha bisogno di un mix di competenza
e semplice esecuzione non pensante. Talvolta i geni, se capitano,
diventano un problema.
b) dice di vendere servizi software
spesso le /zucchine/ sono la soluzione
di a)  ho poca esperienza di  b) ne ho un  minimo
ed ho esperienza anche di freelancing ( /anche/ soggettivo)
 
In fondo a chi serve il fattoriale [mi fa sempre sorridere quando si
porta questo esempio come /milestone/ di insegnamento]?
Sia esso ricorsivo o iterativo!
Con rispetto
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)

 finito a insegnare informatica alle superiori (!!).
 
Ah, ecco la famosa "Buona Scuola"...
 
 

 anche solo a contemplare questa opzione. 
 
In realtà esiste uno strumento che rappresenta "l'ultima spiaggia"
per chiunque voglia almeno aspirare a buttare giù una qualche sequenza
logica di istruzioni: MIT App Inventor. Lo puoi usare anche tu per
sottoporlo agli aspiranti programmatori che ti capitano sotto mano.
Del tipo, glielo spieghi (ci vogliono 10 minuti) e poi gli dici che
tipo di esercizio devono svolgere. Se non ce la fanno gli dici:
"Mi dispiace, non hai passato questo test di base, prova in un altro settore".
E te la sbologni facilmente.
 
Per la cronaca MIT App Inventor lo stanno facendo usare per 
far prendere confidenza con la programmazione a tutte le fasce
d'età, dai bambini dell'asilo fino agli studenti universitari,
per cui è evidente che rappresenta uno strumento che più base
non si può (forse lo era il Logo, ma quelli erano altri tempi...).
 
 
 
 
 
 


Mah... Ho rischiato anch'io di diventare "insegnante di informatica alle 
superiori", ma a parte che per circa 70 Euro/settimana preferisco fare 
altro, quello che mi proponevano era di insegnare "Word", "Excel" e il 
"pacchetto office" a 2 delle 3 classi che avrei dovuto avere. E 
insegnare invece qualche principio di base sull'archittettura dei 
calcolatori alla terza classe.
 
Non sono diventato "insegnante di informatica alle superiori"
semplicemente perché da quasi 5 anni ormai faccio altro che non c'entra
ninte con l'informatica e, sebbene non guadagni una mazza nemmeno con 
questo altro, non volevo lasciare questo altro per
prendere 280 Euro/mese (ma se gli orari fossero stati compatibili
e quindi avessi potuto fare entrambe le cose, forse
avrei accettato).
 
Non credo che gli eventuali miei allievi avrebbero voluto fare i 
programmatori.
 
Ciao,
Marco.
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 

 comunque bene, o per entrambe le ragioni?
 
Nella mia esperienza, che pero' risale ormai a quasi circa 5 anni fa, 
dato che negli ultimi anni sono completamente fuori dal giro e faccio altro,
le aziende prendono programmatori "un tot al chilo" e non in base
a quello che sanno fare. L'importante e' che "un Kg di programmatore" 
costi poco. Se il Kg non e' l'unita' di misura adatta basta sostituirla 
con il costo orario. All'epoca in cui ho smesso
di fare l'informatico, i programmatori venivano proprio venduti all'asta
al ribasso (se c'erano 5 fornitori, e il cliente voleva 50 
programmatori, ogni fornitore metteva in busta chiusa la sua offerta e 
chi offriva 50 programmaotri al prezzo piu' basso vinceva la gara).
 
Anche se in realta' poi c'e' stato un periodo in cui ho fatto pi' 
l'analista funzionale/tester che non il programmatore per cui
la mia esperienza da programmatore vero e proprio risale al lontanissimo 
2006 .
 
 
Piuttosto, dato quello che dici in altri post (usi linguaggi di nicchia,
cercavi di non essere sostituibile, ecc.) sarebbe interessante sapere
in quali aziende hai lavorato.
 
Anche perché l'unico altro parametro che le aziende dove ho lavorato io
prendevano in considerazione, oltre al basso costo orario, era
eventualmente la conoscenza di tecnologie mainstream, specialmente J2EE.
 
La mia esperienza, come scritto ormai molte volte, è stata
per lo più in grandi aziende tipo Ericsson, Poste Italiane, alcune 
aziende di Finmeccanica e simili (per cui ho avuto molto a che fare con
Telecom, H3G, PosteMobile, ecc).
 
Sarebbe interessante conoscere gli ambienti che ti permettevano di 
lavorare con conoscenze "di nicchia" (tra l'altro io prevalentemente 
usavo il C [anche C++, ma le ultime evuluzioni, da boost compreso in poi 
non le conosco], che come tu dici e' ormai diventato di nicchia).


 programmatori.
 
Se continuano così le cose nelle scuole italiane nessun alunno
vorrà fare il programmatore...
 
 

 con il costo orario.
 
Questa pero` e` una regola italiana. Fuori non vale.
 
-- 
4ndre4


Beh, a sentire quello che dice lui, pare che per i posti in cui
ha lavorato lui non valesse nemmeno in Italia. Per questo
sarebbe interessante capire quali sarebbero questi posti.


 sarebbe interessante capire quali sarebbero questi posti.
 
Da quel che ho visto io, almeno qui in UK non e` cosi`.
 
-- 
4ndre4

 Sia esso ricorsivo o iterativo!
 
Nel 2017, il milestone sarebbe intuire che è una domanda efficace per indagare 
la conoscenza o meno di semplici schemi algoritmici di accumulazione.
Tu in che ambito lavori?
 
 
 


Il mio sorriso era relativo al fatto che si fa /sempre/ quell'esempio
non sul fatto che possa essere utile per quelle indagini che citi.
Ho incontrato /parecchi/ programmatori (o presunti tali) che non
  sapevano cosa fosse il fattoriale.
 
Lavoravo (passato).
Tranne l'ambito strettamente scientifico varia umanita' ;-)


 Tranne l'ambito strettamente scientifico varia umanita' ;-)
 
brr


 
Hai freddo? Un te' caldo?
O ti devo chiedere l'algoritmo che dimostra la infinita' dei twin primes 
(di rimbalzo anche dei primi di Sophie-Germain)?


 (di rimbalzo anche dei primi di Sophie-Germain)?
 
brà chiedicela a lei la fattura


 
E' un po' morta (come il gatto di Schroedy) e si e' fatta
passare anche da /omo/ .
E poi chi ti dice che Sophie-Germain era femmina e, soprattutto,
strega?
 
 
p.s.
poi ho scritto /fattoriale/ mica /fatturiale/ !
p.p.s.
la hai /glissata/ ma:
Non sai cosa e' un primoriale!
Non sai cosa e' un primoriale :-Q
Non sai cosa e' un primoriale :-Q
Non sai cosa e' un primoriale :-Q
Non sai cosa e' un primoriale :-Q
Non sai cosa e' un primoriale :-Q
Non sai cosa e' un primoriale :-Q
Non sai cosa e' un primoriale :-Q
Non sai cosa e' un primoriale :-Q
Non sai cosa e' un primoriale :-Q
 
:-)))))))))))))))))))
Sghignazzo finale  ;-)


 strega?
 
E STOCAZZO ?


Mi spiace sei scaduto e si che il nick di cui scimmiotti il nome
era divertente (ma,poi, ha fatto forse la fine del suo autore)



 
P.S.
Per sapere cosa e'  un fattoriale bastava un click!


Il 19/04/2017 00:04, Alessandro Cara ha scritto:
mi scuso
per sapere cosa e' Un PRIMORIALE.


 Ciao a tutti.
 
Ciao!
Vorrei aggiungere quella che secondo me e', a volte, una delle
madri di tutta la filiera: l'importante e' far funzionare bene
le cose e realizzare progetti di alta qualita' o far girare
i soldi, anche tanti, ma il minimo possibile nelle tasche
degli attori non protagonisti e delle comparse?