Commenti & Opinioni |
Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Imposta lingua:en it | Login/Register
Vorrei ricollegarmi con un breve post di alcuni giorni fa che ha generato un paio di interessanti opinioni (che mi trovano in disaccordo), ed espandere se possibile la discussione. Il post era una mezza battuta relativa al fatto che i moderni "web developers" (e probabilmente molti altri tipi di "developers") non conoscono ne' capiscono le basi o la teoria dietro i databases e, in parecchi casi, tutto quello che e' appena oltre il loro "campo di azione". E peggio ancora non sembrano curarsene minimamente.
Ora, l'idea che ognuno debba essere pienamente competente nel proprio campo e' una buona idea e nessuno (me incluso) dice che voi non dobbiate essere competenti in quell'area. Il mio problema e' quando tale "area" diviene molto, molto piccola al punto che praticamente ogni altra cosa attorno cessa di essere "il vostro lavoro".
E' impossibile, o semplicemente poco conveniente, essere dei "tuttofare", semplicemente perche' richiede una montagna di tempo per diventarlo ed i risultati sono in genere mediocri (quando va bene). Certa gente riesce ad acquisire un quantitativo di skills sufficienti semplicemente svolgendo diverse attivita' per un certo tempo, operando in certi campi per un po' ed effettivamente cavandosela decentemente, ma molti tendono naturalmente a concentrarsi su alcune attivita' o campi che li interessano di piu' e quindi ad acquisire piu' esperienza in quei specifici campi, finendo con l'ignorare o evitare volontariamente tutto quello che non gli interessa. E va bene, fintanto che non danneggia la loro capacita' di fare quello che gli interessa.
Tuttavia, devo far notare che nel "mondo moderno" (specialmente in IT), e' parecchio raro che una qualunque disciplina o attivita' sia completamente indipendente da tutto il resto. In effetti, in molti casi una qualunque parte di una struttura IT e' talmente interconnessa con tutto il resto che un problema in una parte si riflette direttamente sull'intera struttura. Supponiamo che voi stiate scrivendo del codice per l'acquisizione di dati, questi 'dati' si suppone che verranno utilizzati da altre parti della struttura, e quindi il modo con cui li trattate nella fase di acquisizione avra' delle conseguenze sui modi in cui tali dati potranno essere trattati in altre parti (pensiamo semplicemente all'idea di memorizzare tutto come 'stringa' invece di differenziare i vari tipi di dati o eseguire dei controlli di sanita' sui dati invece di memorizzare ogni sorta di immondizia).
Con questo, non dico che ognuno dovrebbe conoscere tutto fino al minimo dettaglio, ma l'avere un'idea generale ed una conoscenza delle basi del tutto, sicuramente aiuta a comprendere ed identificare il migliore approccio ad uno specifico problema per evitare di causare un maggiore problema in un'altra parte del sistema dopo.
Ai "vecchi tempi" (come odio questo termine), c'erano Capi Progetto, Analisti ed Architetti di sistema, il cui compito era quello di guardare al "quadro d'insieme" della cosa e poi dividerlo e ridurlo nei minimi dettagli, fornendo a ciascuno un progetto dettagliato e chiaro di quello che si sarebbe dovuto realizzare. Ed il che avrebbe dovuto eliminare o ridurre di molto i problemi nel corso dell'opera. I "vecchi tempo" tuttavia, sono finiti da un pezzo ed la buzzword del momento e' Agilita', che sostanzialmente significa mettere insieme della roba il piu' in fretta possibile e non preoccuparsi troppo perche' tanto non durera' piu' di alcuni giorni e poi ci sara' da rifarla da capo o fare qualche cosa d'altro. E poi ci si meraviglia come e' che si finisce con l'avere un miliardo di bachi o roba che spesso non funziona.
Dato che oggi ognuno deve essere un 'designer' e responsabile per una porzione di quello che fa, dovrebbe essere interesse comune (e responsabilita' anche) di SAPERE almeno le basi delle parti con cui si hanno interazioni anche se non sono direttamente sviluppate.
Pertanto, uno sviluppatore che utilizza un database, ma non ha idea dei concetti e delle teorie di base comuni a tutti i database (nel senso di struttura e progetto dello stesso), finira' con il non usare tale database al meglio delle sue capacita', o peggio ancora, utilizzarlo in modo da ottenere le peggiori prestazioni possibili. A quel punto, di solito, la palla e' mollata all'amministratore di sistema per essere "risolta". E la "soluzione" in molti casi e' semplicemente aggiungere hardware al sistema. Quando funziona, e' uno spreco di risorse e quando non funziona.... non funziona.
Quindi no. Dire "non e' il mio lavoro", non e' accettabile. Non dal mio punto di vista almeno.
Davide Bianchi
13/11/2018 11:40
I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.
Di Anonymous coward postato il 14/11/2018 08:42
standing ovation.
-- Anonymous coward
Di Messer Franz postato il 14/11/2018 09:11
Non riguarda l'IT, ma questa storia ti dà ragione.
Mio padre era in marina per il servizio militare, e girava quindi parecchie basi NATO e simili, dove c'era gente un po' da tutto il mondo.
Una volta una jeep ad un soldato americano non parte, chiama il servizio assistenza e prontamente arrivano circa 5-10 ingegneri, ognuno specializzato in qualcosa: impianto elettrico, motore, pompe ecc. Esaminano la jeep per 4 ore e decidono che non si capisce il guasto, e che va mandata alla sede centrale dove l'aggiusteranno quelli che l'hanno prodotta.
OK, tutto molto efficiente.
Dato che era ora di pausa, si era formata una piccola folla di gente che guardava che cavolo succedesse, e tra questi un italiano (non mio padre, lui era elettrotecnico) meccanico.
Chiede "Posso darci un'occhiata?" .
Gli ingegneri "ohohoho, italiano pizza mandolino senza super iper laurea pensa poter far qualcosa!Qui no fare spaghetti! Guarda pure, noi intanto compiliamo i moduli di rientro jeep".
Ci mette le mani dentro e 5 minuti dopo la jeep andava, con gli ingegneri bianchi come lenzuoli e metà dei militari lì che ridevano più o meno in modo palese.
Il tizio era un 5a elementare , ma aveva vissuto tra i motori fin da piccolo, ed aveva una cosa che gli ingegneroni specializzati non avevano : LA VISIONE D'INSIEME!
Se ne è parlato per mesi in quella base di questa avventura...
-- Messer Franz
Di Anonymous coward postato il 14/11/2018 09:21
Faccio notare che i capi progetto "veri" o sono andati in pensione o sono stati licenziati riciclandosi come giardinieri o autisti/fattorini. Adesso i capi progetto tipici sono degli stronzetti trentenni tutti instagram/facebook, incapaci di formulare tre frasi di seguito senza metterci una superflua parola in inglese. Ah, e sono anche incapaci di assumersi la benché minima responsabilità decisionale e che credono che un progetto dovrebbe "andare avanti da sé"... Allora tu che cazzo sei qui a fare, coglione?!!???
-- Anonymous coward
@ Anonymous coward Di Andrea M. postato il 15/01/2019 10:55
Standing ovation. Hai appena descritto i capi-progetto (o presunti tali) del posto in cui lavoro (un noto provider internet). Proprio ieri, io e un mio collega molto in gamba abbiamo discusso pesantemente con uno di questi soggetti praticamente inutili.
-- Andrea M.
Di Anonymous coward postato il 14/11/2018 10:06
Organizzazione "ad oggetti".
In teoria ogni team dovrebbe poter specializzarsi in qualcosa e, senza avere i dettagli di come funzionano internamente agli altri team, avere una base comune di nozioni e forma mentis (matematica, logica, teoria dei database, skills su sistemi e linguaggi comuni...) per comunicare con gli altri team.
Purtroppo la deprofessionalizzazione imperante, non solo nel campo informatico, va ad incidere proprio sulla base minima comune con cui è possibile comunicare efficientemente.
-- Anonymous coward
Di Riccardo Bisleri postato il 23/11/2018 11:43
In questo ultimo periodo ho seguito un paio di eventi che mi hanno direi quasi allibito relativamente alla nuova organizzazione dei ruoli all'interno delle aziende.
Sempre più i colossi (parlo in questo caso di una softwarehouse molto famosa per i cappelli rossi e un'altra software house che fa un db degno di nota) tendono a pensare che lo sviluppatore possa essere anche in grado di fare l'"amministratore di sistema".
Con il cloud si pensa sempre di più che gli sviluppatori dovrebbero essere più autonomi nella risoluzione dei problemi (che da un certo punto di vista non è nemmeno sbagliato) e scrivere sempre meno codice (altra roba non del tutto sbagliata) ovvero il nuovo trend del momento -> DevOps.
Io lavoro per una Software House facendo da anni l'amministratore di sistema ed anche il DBA mi rendo conto di quanto possa essere pericoloso.
Nel senso che io personalmente penso che le risorse non siano infinite.
Mi spiego :
se viene scritta una query non ottimizzata non deve essere l'HW a supplire all'incapacita di chi scrive.
Invece la software house del db di cui sopra ha pensato ad una soluzione dove se io ho delle query non ottimizzate il modo migliore per risolvere il problema è quello di aumentare le CPU in essere per il tempo necessario a sostenere il carico non previsto.
Sembra come se l'HW che una volta era considerato parte integrante del Sistema informativo dell'azienda ora non sia semplicemente calcolato.
In questa ottica "That Is Not My Job (?)" forse è giusto che esista.
Voi cosa ne pensate?
-- Riccardo Bisleri
Di Anonymous coward postato il 26/11/2018 22:10
"Non e' il mio lavoro" mi sembra la risposta corretta, accompagnata da un "Si, non e' piu' il tuo lavoro, ridammi il badge e passa all'ufficio personale per la liquidazione"
Non e' che ci voglia molto, eh....
-- Anonymous coward
@ Anonymous coward Di Anonymous coward postato il 18/12/2018 18:25
Best answer Ever.
"Non e' il mio lavoro" mi sembra la risposta corretta, accompagnata da un "Si, non e' piu' il tuo lavoro, ridammi il badge e passa all'ufficio personale per la liquidazione"
Non e' che ci voglia molto, eh....
-- Anonymous coward
Di Anonymous coward postato il 29/11/2018 18:16
come e' vero quello che dici...
-- Anonymous coward
Di stefano postato il 15/12/2018 05:51
Non hai tutti i torti, ma nel web, una buona fetta di siti e' fatto da cms : e' raro che il programmatore web sia l' artefice delle query : piu probabile che sia il cms a generarle : se poi il programmatroto ci deve mettere le mani, deve riscrivere il plugin che si incarica del wizard.... E questo significa giustificare un budget di tempo e soldi al boss.
Se un programmatore veramente sta scrivendo codice e query, lo reputo super fortunato perche ha tempo e budget per un progetto importante...
-- stefano
Di Anonymous coward postato il 04/01/2019 22:27
Per quanto riguarda il post 'i numeri contano' va detto che hardware 'vecchio' di 4 anni implica che esso è stato testato per almeno tre anni e ha quindi dato prova di affidabilità: anche la New Horizons monta una cpu della playstation 1 perché deve essere hardware affidabile e non ultimo modello. Questo direi se fossi fossi un adepto Apple... Poi il fatto di pagare il doppio per avere la metà... Beh, credo che per qualche oscura ragione psicologica, li faccia sentire superiori. Ad ogni modo, forza thinkpad! (Mitico il T600: P2 400 MHz 128Mram, 6GB disco)
-- Anonymous coward
Di Anonymous coward postato il 09/02/2019 00:37
questa è la Bibbia!!!
-- Anonymous coward
Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.
Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.
Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".