Comments & Opinions


Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Login/Register

That Is Not My Job (?)

I wish to reconnect with a short post of a few days ago that sparked some interesting opinions (that I don't agree with), to expand on that discussion. The post was an half-joke related to the fact that modern Web Developers (and probably other type of developers too) don't really understand or know the basic of database design and in many cases, the basic of almost anything beyond what is strictly their field of expertise. And more important, they don't seems to care about.

Now, the idea that you should be fully competent in your field is nice, and nobody (especially me) can't say that you SHOULDN'T be competent in that area. My problem is when the "area" become very very tiny to the point that everything that is not strictly defined is outside and as such is no longer "your job".

It is impossible (or simply not advisable) to be a "Jack of all trade", simply because the time required to become a "jack of all trade" is prohibitive and the results would be dissappointing (at best). Some people manage to do just fine by performing different activities for some times, collecting experience in different fields and performing quite well in all of them, but most of us tend to gravitate towards few things and acquire more and more experience in them, while actively avoiding or barely checking whatever doesn't spark our interests. And that's fine, as long as it doesn't hurt our ability to do what interest us.

However, we should note that in the "modern" IT world, it is very rare that a discipline is completely disconnected from everything else, in fact, every single part of an IT infrastructure is tightly interconnected and a problem in one part reflects in the whole thing. Let's say that you are writing some code for data-entry, these 'data' are supposed to be used by other parts of the system, as such, the way you treat them in the data-entry phase will have consequences in the way they are stored and the way  they can be treated in the other parts (just think about treating all data as 'string' instead of differentiating between numbers and text, or performing various sanitization instead of just storing all kind of junk).

With this, I don't want to say that everybody should know everything down to the smallest detail, but having a grasp of the basics of the whole, can help a lot in understanding what is the best approach to solve a specific problem that will not cause a larger problem later in a different area of the system.

In the "old days" (geez, I hate that term), there were Project Manager, Analyst and Architect that were supposed to the take care of the "big picture" and then split it down to the detail level, providing everybody with a clear design that should have avoided problems in the long run. However, the "old days" are long gone, and the term of the day is 'agility', that basically means put together junk as fast as you can and don't worry about nothing because anyway it won't last more than a few days and then you'll have to put together something else. And then we wonder how the fuck we ended up with a bazillion bugs and stuff that doesn't work more often than it does.

Given the fact that nowadays everybody is supposed to be a "designer" and be mostly responsible for a portion of what they do, it should be their interest (and their duty also) to actually *KNOW* at least the basics of the parts they don't actively develop but interact with.

As such, a developer that uses a database, but has no idea what are the basic concept behind the database itself (in term of design and structure), by definition will ends up not using the database at its best capability and at worst using it in such a way that actually deliver the worst possible performance. At that point, normally, the ball is dropped to the system administrator (or the network administrator) for "fixing". And the "fix" is to throw more hardware resources. When it works, is a waste of resources and when it doesn't... well, it doesn't.

So, no. Saying "that is not my job", is not acceptable. Not from my point of view at least.

Davide Bianchi
13/11/2018 11:40

Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.

12 messages post new
Anonymous coward By Anonymous coward - posted 14/11/2018 08:42 - reply

standing ovation.

--
Anonymous coward


Messer Franz By Messer Franz - posted 14/11/2018 09:11 - reply

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


Anonymous coward By Anonymous coward - posted 14/11/2018 09:21 - reply

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


Andrea M.@ Anonymous coward By Andrea M. - posted 15/01/2019 10:55 - reply

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.


Anonymous coward By Anonymous coward - posted 14/11/2018 10:06 - reply

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


Riccardo Bisleri By Riccardo Bisleri - posted 23/11/2018 11:43 - reply

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


Anonymous coward By Anonymous coward - posted 26/11/2018 22:10 - reply

"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@ Anonymous coward By Anonymous coward - posted 18/12/2018 18:25 - reply

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


Anonymous coward By Anonymous coward - posted 29/11/2018 18:16 - reply

come e' vero quello che dici...

--
Anonymous coward


stefano By stefano - posted 15/12/2018 05:51 - reply

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


Anonymous coward By Anonymous coward - posted 04/01/2019 22:27 - reply

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


Anonymous coward By Anonymous coward - posted 09/02/2019 00:37 - reply

questa è la Bibbia!!!

--
Anonymous coward


12 messages post new

Previous Next


This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.


This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.

This site isn't optimized for vision with any specific browser, nor it requires special fonts or resolution.
You're free to see it as you wish.

Web Interoperability Pleadge Support This Project
Powered By Gojira