martedì 22 ottobre 2019

Perche' non faccio programmi per gli amici

A chi non e' mai capitato? Se hai un amico che si intende di X prima o poi ti capita di chiedergli qualcosa a riguardo di X. E quello non e' un problema.

A volte capita che qualcuno ti chieda di fargli un programma.
Lo so un programma non e' qualcosa di "tangibile" come un mobile pero' e' sempre qualcosa che richiede lavoro per essere fatto.

Siccome non sono un libero professionista ma sono dipendente, le "8 ore" non posso usarle come mi pare a me ma devono essere spese a beneficio del cliente.
Questo vuol dire che qualsiasi altra attivita' deve essere fatta nel mio tempo libero.
Tempo che potrei usare per riposarmi o per stare con i miei figli.

Quindi quando mi chiedi di svilupparti un programma mi stai chiedendo di sottrarre del tempo alla mia famiglia e a me stesso.
Sviluppare un programma e' un processo molto lungo. Non e' un comodino. Che pure richiede lavoro.
Quando mi chiedi un programma io devo sapere su cosa vuoi farlo girare. Lo so che a te ti rompe i coglioni e vorresti una cosa "basta che sia" pero' ci sono cose che ho bisogno di sapere. Tipo come intendi interfacciarti? Vuoi usarlo su tutti i pc? In tal caso mi ci vuole un server. Vuoi un'applicazione da mettere su una macchina? In tal caso i dati non saranno condivisi a meno di non metter su un db-server. ... e cosi' via. La parte requisiti spesso e volentieri e' molto lunga forse anche di piu' dello sviluppo vero e proprio.

Poi una volta deciso l'ambiente bisogna decidere come dev'essere e cosa deve fare. E questo lo sai solo tu. Inutile che tu mi dica "fai te" e quando poi ti presento il prodotto non ti vada bene e volevi che facesse qualcos'altro. Mi hai fatto solo perdere tempo perche' TU non volevi perdere il TUO.

In piu' se dopo mesi di lavoro (magari sottraendo ore al giorno che avrei potuto spendere a giocare con i miei figli) ti porto il prodotto finito e tu, che ti sei stancato di aspettare, hai comprato un sw del cazzo in edicola... Beh allora mi girano pure le palle.

...ecco perche'.

mercoledì 16 ottobre 2019

Tempi Moderni


Assisto a questa conversazione (censurata per privacy & sicurezza). Penso non ci voglia un grandissimo genio per capire come mai il link allegato alla mail non funziona... Il client di posta con la quale la mail e' stata inviata si e' fermato al primo & mentre l'url e' tutto.

Perche' tempi moderni? Perche' la risposta dell'astinenza e' un sintomo di un atteggiamento sempre piu' diffuso.
Non si cerca di capire il problema. Ci si lamenta che non funziona.
Il che e' particolarmente grave se proveniente da un qualcosa che dovrebbe fare assistenza tecnica (e' l'hosting pampers di dove lavoro)

Di piu': e' stata assunta una persona del genere perche' probabilmente chi l'ha selezionato ha un atteggiamento del genere, o non ha le competenze per capire se chi stai assumendo sa fare il suo mestiere oppure no. E ancor peggio e' che la conseguenza e' che non sei nemmeno in grado di formare un futuro "professionista" (a questo punto le virgolette sono d'obbligo).

Se non avesse avuto una mail a cui rispondere probabilmente avrebbe postato la domanda su stack-overflow...

venerdì 4 ottobre 2019

Hard lesson

Allora quando entrai in $POSTO nel lontano 2015 avevano un applicativo J2EE sviluppato per Java 1.6 (rilasciata intorno al 2005) e Jboss 5 (c.ca 2007). Erano gia' all'epoca versioni "diversamente nuove". Oltretutto che java 1.6 e' afflitta da vulnerabilita' parecchio pesanti.

Il mio senso del dovere ha fatto si' che ho iniziato molto presto a fare presente i problemi derivanti da usare roba EOL (quindi non aggiornata ne' aggiornabile) e affinche' si prendesse in considerazione uno svecchiamento. Svecchiamento che consiste in una riscrittura. Perche' se cambi java devi cambiare jboss (non e' certificato). Se cambi jboss devi cambiare struttura al progetto (perche' i wildfly adottano un'architettura modulare) e devi cambiare jsf perche' wildlfy vuole jsf2.

Di conseguenza piu' che un porting e' una riscrittura. Riscrittura che molto pazientemente ho portato avanti in maniera praticamente "carbonara". Senza nessun appoggio di nessuno perche' nessuno ne vede(va) l'utilita'.

Esiste gia' un prodotto che funziona perche' devo spendere tempo e soldi per riscriverlo da capo? - Questo fondamentalmente l'atteggiamento di tutti, dalla responsabile al cliente al Digerente...

A niente e' valso lo spiegare che essendo prodotti EOL il loro supporto da parte di chiunque potrebbe cessare di botto e senza preavviso.

Fast forward ad oggi: l'applicativo non invia piu' la pec.

Mi guardo i log e
La versione del client di posta che stai utilizzando non rispetta i requisiti di sicurezza minimi richiesti dal servizio PEC. Per maggiori dettagli sui requisiti di compatibilita' vai su verifica.pec.it
Aka la versione del client con cui fai hand-shake e' troppo vecchia.

...ma guarda un po'...

Riunione stile Fuher-Bunker con gli alleati alle porte. Non riesco a smettere di ghignare lo ammetto. Ovviamente faccio presente che sul porting (che nessuno s'e' caato da anni) la pec funziona Mi rispondono che c'e' bisogno della pec SUBITO

$ME_PENSA: se mi avevi dato retta in tutti questi anni non ti saresti trovato in questa situazione.

Faccio presente che comunque la colpa e' nostra che usiamo una Java geriatrica e anche se non pronuncio le parole "te lo avevo detto" - il sorriso da stregatto lo fa al posto mio.

Dopo vari ravanamenti, spiego che le nostre macchine di sviluppo sono su jboss 5 + java 1.8 e che se anche se questa soluzione non e' certificata (jboss 5 e' certificato per la 1.6) potrebbe essere un modo per sopravvivere. Anche se per inciso non e' detto che funzioni perche' usiamo un componente "custom" sviluppato per $ENTE per autenticare la gente tramite smart card/spid & co. Questo componente la versione vecchia non funziona con la java 18 e quella nuova non e' detto che funzioni con jboss 5 (il sistemista di $HOSTING_PAMPERS in questo momento sta bestemmiando parecchio)... Vi terro' aggiornati

Quello che spero e' di riuscire a fare capire la necessita' di passare a qualcosa di piu' "nuovo" (java 1.8 e' fra i requisiti minimi e su oracle c'e' la 12 quindi non e' che sia poi cosi' nuova) lasciando perdere totalmente il vecchio, e soprattutto riuscire a far capire la necessita' non solo di aggiornarsi ma anche di rimanere aggiornati.
Tanti piccoli passi costano meno di uno gigantesco...

Aggiornamento (15/08/2021):
Non sono piu' in quella gabbia di matti (grazie a Chtulu). Quando sono andato via (quasi 2 anni fa) erano ancora a madonnare. Avevo anche proposto una soluzione "tampone" che avrebbe permesso di non cambiare la configurazione, in soldoni un applicativo REST da sviluppare su wildfly e che facesse da ponte tra il vecchio e la pec. La risposta era stata che ci sarebbe voluto troppo tempo (secondo la responsabile almeno 1 mese per andare in produzione), sono stati quasi 2 anni senza inviare pec.
Questo per farvi capire come ragiona certa gente...