Comments & Opinions


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

The Doctor is IN

Hummm... Sto cominciando a pensare di trasferirimi in un parco e mettere in piedi un "chiosco"... 

Ma andiamo con ordine. Ricevo una missiva che dice (tra le altre cose):

"...sono un ex sviluppatore, ormai da 17 anni, e sono passato a fare tutt'altro... essendo fuori 'dal giro'`, mi trovo nella situazione di voler capire un attimo meglio come funziona il mondo dell'informatica oggi. Per lavoro ... mi occupo anche della parte informatica della mia azienda, faccio disegni al cad, gestisco mail e cosi' via. Capirai che le mie conoscenze delle necessita' di un'azienda sono molto limitate ... E' gia' un po' che mi sento "frustrato" da questa mia ignoranza.
Adesso vorrei cercare qualche fonte per "immergermi" nuovamente nel mondo dell'informatica "moderna", non rimanere ai bordi comprendendo il minimo.
"

Allora, cominciamo dal fatto che quello che segue sono, come dice il titolo in alto, LE MIE OPINIONI e che se non sei d'accordo va bene cosi'. Ma tu hai domandato e quindi mo' ti becchi il pistolotto.

Se tu hai gia' un lavoro che NON consiste nell'essere un SysAdmin o un Programmatore a tempo pieno, non preoccuparti del fatto che le tue conoscenze non sono al livello di una "azienda" di dimensioni diverse. Quello che devi fare e' essere sicuro di capire bene le esigenze della TUA azienda. Se quello che fai (nel tuo piccolo) copre tali necessita', va bene cosi' e non dovresti preoccuparti di altro. Se quello che serve alla TUA azienda non sei in grado di provvederlo (per mancanza di conoscenze o capacita'), ti appoggerai a qualcun'altro, ed a questo punto saranno cavoli suoi il provvederlo, basta che metti bene in chiaro cosa vuoi sul contratto. Se quello che vorresti fare e', invece, espanderti e cominciare a produrre software da vendere... Il discorso si fa molto, ma molto, piu' complicato.

Tu dici: "sto sviluppando, pian pianino, un sw per le statistiche sui dati di borsa (in c). Ma mi chiedo sempre: la scelta del linguaggio e' stata corretta?"

E la risposta e'... DIPENDE... Chi dovrebbe usarlo tale software? Tu? Se lo usi tu, funziona e fa quello che ti serve, allora va tutto bene. Se invece tu lo stai sviluppando per poi VENDERLO (o cercare di), allora ti converrebbe fare delle ricerche di mercato per stabilire quale sia il formato migliore per tale applicazione, chi potrebbe essere interessato ad acquistarlo, su che piattaforma eccetera eccetera. Il che, ovviamente, richiede soldi per cominciare.

Dopo di che, una volta stabilito il "piano di azione" (che software, con quali caratteristiche, su quale piattaforma eccetera). O ti adatti a studiarti quello che non sai, oppure, molto piu' prosaicamente, ASSUMI QUALCUNO CHE LO SAPPIA GIA' e gli fai fare il lavoro. E nota che non c'e' niente di sbagliato in questo.

"Tu come ti regoli per informarti, per conoscere le novita', per capire se una nuova tecnologia e' utile o no, se e' giusto abbandonare una certa altra tecnologia, o simile?
E' questo che sto cercando: una fonte di informazioni che mi permetta (ovviamente dopo una mia personale valutazione) di migliorarmi.
"

Allora, per parafrasare me stesso, le "nuove" tecnologie, non sono "nuove" manco per un cazzo. Gira e gira tutto quello che usiamo e' vecchio di almeno 30 anni. Nel corso dei quali, si e' evoluto, ha aggiunto o perso dei pezzi ma la sostanza e' sempre la stessa.

Per il resto, essendo che io faccio questo per lavoro e non per divertimento, la prima regola e': quello che e' RICHIESTO dal mercato e' quello che importa, non quello che e' "figo". E ci tengo a precisare qui che il mio lavoro di "programmatore" e' finito 20 anni fa.

E questa e' la differenza fondamentale tra un "amatore" che si diletta a fare qualche cosa per cavoli suoi, e come tale se ne frega se quello che fa' non e' "all'ultima moda", ed un professionista che DEVE seguire il mercato.

Quindi quello che e' "richiesto" ed e' "in linea" con quello che faccio, e', per definizione, quello che dovro' studiarmi (se hai notato salta fuori spesso il nome di Ansible, che e qualche cosa che ho dovuto studiarmi proprio perche' ha cominciato ad essere richiesto a gran voce).

Quindi, "come mi regolo per informarmi"? E' molto semplice. Quello che viene richiesto dai vari clienti e' quello che conta. Se sono in grado di provvederlo direttamente, bene, se no... Dovro' studiarmi qualche cosa d'altro.

Prendiamo i linguaggi di programmazione (e qui ci tengo a reiterare che non sono un piu' un "programmatore"). Se la richiesta e' di "provvedere un report" di qualche tipo, non importa come lo faccio, l'importante e' il risultato. In questo caso di solito mi oriento verso Perl (che conosco benissimo). Se la richiesta e' piu' specifica, o vedo di arrangiarmi, o semplicemente dico che "quello e' meglio se lo fa qualcuno che conosce il linguaggio meglio di me". Perche' io posso anche impararlo, ma di sicuro ci metto piu' tempo e faccio un lavoro peggiore di chi lo conosce gia'.

Quindi la domanda finale e' "perche' vuoi 'migliorarti'" ?

Se quello che fai lo fai solo per le esigenze della tua azienda e quelle esigenze sono coperte, magari non con il massimo dell'efficienza, ma sufficientemente, non hai nessun bisogno di migliorararti. Concentrati sul fare bene quello che sai fare ed ignorara il resto.

Se invece vedi che quello che fai non e' abbastanza e rimangono delle necessita' scoperte, appoggiati su dei consulenti o software house (dipende dal problema) oppure assumi qualcuno  per coprire la necessita', oppure vedi quale sia la necessita' ed eventualmente studia una soluzione.

Dulcis in fundo, se vuoi "espanderti" su altre cose, usa il capitale che hai (o dovresti avere) ed 'acquista' le conoscenze. Perche' c'e' tanta gente che ha le capacita' e vorrebbe lavorare...
 

Davide Bianchi
14/09/2020 09: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.

7 messages post new
Massimo M. By Massimo M. - posted 14/09/2020 10:20 - reply

In "prima pagina" su soft-land.org, che onore!

Per prima cosa volevo precisare che tutto quello che ti ho chiesto non e' per, un giorno, fare il salto e diventare uno sviluppatore professionista. E' semplicemente che, anche come hobby, mi piace fare le cose come si devono, non solo come so fare. Il "fare le cose alla carlona", o "evabbe', tanto funziona lo stesso, anche se per evitare di scrivere una funzione ho dovuto importare un framework da 40 mb" non fanno parte del mio modo di fare. Se mi avessi detto "guarda, per fare quello che dici devi impararti il linguaggio X, le librerie Y, Z, K e l'os J" l'avrei fatto. Un po' come ho imparato a usare (a livello base, ma credo non alla carlona) Visual Studio e c# per alcuni sw che uso attualmente in azienda.

Il mio "migliorarmi" e' questo: cultura, e fame di conoscenza. Poi, che sfrutti quella cultura, quelle conoscenze in azienda, oppure, una volta acquisite, le tenga nel cassetto, non mi importa. l'importante e' imparare.

Quanto alle esigenze della mia azienda sono piuttosto limitate, e al momento riesco a gestirmele io. Un domani quando sara' ora di mettere su un qualcosa di oltre le mie conoscenze, valutero' se fare dei corsi su quell'argomento, o se incaricare una persona terza.

Quando parlavo di nuove tecnologie intendevo i millemila framework web, i nuovi linguaggi (go ad esempio e' piuttosto recente), i vari webassembly.

Dalla mia posizione, cioe' "fuori dal giro" professionale, e' difficile capire cosa scegliere per, ad esempio, sviluppare una webapp, per evitare i mille framework che nascono e muoiono nel giro di 3 anni o linguaggi usati da tre persone in tutto. E anche li', ho in mente di sviluppare qualche webapp per diletto e conoscenza, quasi un proof-of-concept, non per venderle (tanto per dirne una: sto sviluppando una libreria in c per creare interfacce testo a mappe tipo mainframe. sinceramente: chi comprerebbe sto rottame?).

Ti ringrazio per la risposta, e auguri per il tuo banchetto da psicologo!

 

 

--
Massimo M.


Guido@ Massimo M. By Guido - posted 16/09/2020 09:52 - reply

Quando parlavo di nuove tecnologie intendevo i millemila framework web, i nuovi linguaggi (go ad esempio e' piuttosto recente), i vari webassembly.

Ti rispondo da sviluppatore: di solito se conosci il linguaggio basta ed avanza nel senso un framework si impara e di solito e' qualcosa che ti propongono allegato al progetto su cui lavorerai. E' difficile se sei programmatore che tu possa fare delle scelte.

Diverso il caso se sei analista.  Ma anche li' si tratta sempre di qualcosa che si aggiunge o modifica il pregresso. Nel senso prendi la differenza tra jsf e jsp per carita' c'e' ma non e' che siano cosi' radicalmente differenti. Si tratta di un'evoluzione li' basta quasi "leggere il giornale" (specializzato) per essere al corrente delle "ultime novita'" (che poi non e' detto che siano cosi' migliori rispetto al vecchio)

--
who uses Debian learns Debian but who uses Slackware learns Linux


Messer Franz By Messer Franz - posted 14/09/2020 12:23 - reply

Scusate se mi intrometto: se un programmatore si vuole "ampliare", ma non nel senso volumetrico (modestamente sono un professionista anche in quel campo), secondo me ha tre vie:

1)Cerca tra gli annunci di lavoro, vede cosa è richiesto, se lo studia. Serve a trovare più facilmente lavoro o un altro lavoro se già ne hai uno ma vorresti cambiarlo.Non importa se è roba bella o pratica, il paròn la vuole, attacca il ciuccio dove vuole il padrone.

2)C'è qualcosa che ti interessa: io mi sono interessato a grafica e videogame, quindi ho imparato openGL, openAL, ed ad usare varie librerie inerenti più specifiche(assimp-gestiscono i modelli 3D, freeimage-caricano i file immagine). Puoi anche trovarci lavoro, ma ricorda che la base è che lo fai per tuo interesse.

3)Girando per il web trovi qualcosa di interessante, ed approfondisci. Può cambiarti la vita, può solo farti perdere tempo. Tieni presente che c'è SEMPRE qualcosa di interessante* e nuovo sul web, e saltare come un coniglio incrociato ad un grillo da una cosa all'altra oltre a procurarti problemi psichici non ti farà approfondire niente. Va bene se vuoi far felici i manager con un curriculum pieno di nomi strani, ma nel mondo reale l'utilità è moooolto bassa.

*o presentata come interessante.

A quanto ho capito tu sei nel caso 2, il massimo consiglio che ti posso dare (che non sono neanche metà di BigD (di volume anche il doppio, ma intendo di conoscenze) è che se fai un programma per un settore particolare, usa pure linguaggi "collaudati" e che conosci, ma studiati il settore prima (almeno una robusta infarinatura), che sennò rischi di fare qualcosa che è bello, funziona bene, non serve a niente. A livello "conseguimento personale" va benissimo, ma fare un passettino in più e fare qualcosa che interessi anche al mercato non mi sembra male...tieni presente che "faccio un programma che rivoluzionerà il mercato" l'abbiamo sognato tutti, ma nel mondo reale...è possibile, ma altamente improbabile, soprattutto a breve termine...

--
Messer Franz


Massimo M.@ Messer Franz By Massimo M. - posted 14/09/2020 16:14 - reply

> tieni presente che "faccio un programma che rivoluzionerà il mercato" l'abbiamo sognato tutti,



Io no, sinceramente ho sempre avuto i piedi per terra, mai considerato un dio dello sviluppo (a parte che, in questo settore, se tiri fuori una buona idea che tu sia sviluppatore o no conta zero), tutt'altro.

Piu' che altro, come tutti, ho sentito cose del tipo "Sei programmatore? Allora perche' non FAI un programma e poi LO vendiamo?". Cioe': TU mettici l'idea (e che sia rivoluzionaria, mica ho da perdere tempo con un pistola qualunque, io!), il lavoro di sviluppo, debug, ca**i e mazzi, cosi' NOI facciamo i soldi.

 

 

--
Massimo M.


Anonymous coward By Anonymous coward - posted 15/09/2020 15:04 - reply

Ciao, le tendenze possono cambiare rapidamente a volte per necessità altre per "moda". Un buon modo per tenersi aggiornati secondo me è quello di studiare i report annuali dei vari Stackoverflow, Github, Puppet o Google (i primi due più sullo sviluppo SW, gli ultimi su DevOps). Qualunque sia la propria area d'interesse è possibile trovare informazioni aggiornate su quali siano i linguaggi di programmazione/framework più utilizzati al momento, quali tool/librerie sono più diffusi oppure quali processi e tecnologie vengano utilizzate.

--
Anonymous coward


Guido By Guido - posted 16/09/2020 09:48 - reply

oddio c'e' sempre la possibilita' che voglia cambiare lavoro e andare a fare (o rifare) il programmatore. Li' sono i famosi falli per diabetici a meno che tu non conosca <b>bene</b> qualcosa come fortran o simili (che sono ancora usati specie in ambito bancario)...

 

--
who uses Debian learns Debian but who uses Slackware learns Linux


Claiudio@ Guido By Claiudio - posted 21/09/2020 12:38 - reply

 

oddio c'e' sempre la possibilita' che voglia cambiare lavoro e andare a fare (o rifare) il programmatore. Li' sono i famosi falli per diabetici a meno che tu non conosca bene qualcosa come fortran o simili (che sono ancora usati specie in ambito bancario)...

 

Cobol, non Fortran.

La differenza è *abissale*.

https://stackoverflow.blog/2020/04/20/brush-up-your-cobol-why-is-a-60-year-old-language-suddenly-in-demand/

https://www.compuware.com/cobol-v6-1-continuous-delivery/

E per riderci su un po':

https://thenewstack.io/cobol-everywhere-will-maintain/

https://onezero.medium.com/our-government-runs-on-a-60-year-old-coding-language-and-now-its-falling-apart-61ec0bc8e121

--
Claiudio


7 messages post new

Previous


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