Technology Experience

My daily work

Il mio lavoro quotidiano, il traffico, la metropolitana, le tangenziali, i rapporti con i colleghi, lo stress, il divertimento, la routine

My daily work

Oggi…lavoro in officina!

Oggi è stata una giornata anomala. Lavoro in officina. Ebbene sì. Avete presente un grande capannone, con banchi da lavoro con morse, chiavi inglesi, prese di corrente, etc. etc. ? Per una mattinata – e per buona parte del pomeriggio – mi è sembrato di ritornare ai tempi dell’ITIS, durante le ore di reparti.

Lo scopo? Attaccare ai pannelli un certo numero di contatori elettrici e programmarli con i palmari su cui abbiamo sviluppato la nostra applicazione, per verificare sul campo che tutte le informazioni che inviamo al contatore vengano effettivamente scritte ed attuate come ci aspettavamo. Ragazzi, troppo divertente! Un lavoro diverso dal solito e stimolante, e soprattutto sostituendoci ai tecnici che sono gli end-user del nostro sistema. Abbiamo scoperto bug che non avremmo mai beccato nei nostri tranquilli uffici, per una sola ragione fondamentale: i contatori che ho installato esattamente dietro di me non hanno collegato un bel nulla, e quindi i vari registri contengono sempre zero. Non è proprio il massimo, soprattutto quando si vuole verificare che il display del contatore sia stato programmato correttamente.

Sono rientrato circa un’ora fa in ufficio, e posso considerarmi soddisfatto. Il mio collega è tornato a casa, è di Asti e quindi ci mette un po’. Io ho riportato alla base il materiale che abbiamo usato oggi: palmare, cavi, cavetti e sonde. Tra mezz’ora…a casa…e domani altra visita in ospedale!

Send to Kindle
My daily work

Volete leggere Jeffrey Palermo?

Lorenzo mi ha parlato tantissimo del suo amico Jeffrey Palermo in passato, durante le cene UGIdotNET o in altre occasioni minori. Stamattina ho trovato il suo blog, e l’ho sottoscritto al volo. Il post che mi ha colpito di più è quello intitolato “Sharepoint is not a good development platform“, con ben 75 commenti di gente che protesta o che invece si trova d’accordo. Non sviluppo su Sharepoint, sono solo un suo semplice utente, per cui non ho voce in capitolo per decidere se si tratta di una buona piattaforma su cui sviluppare le proprie applicazioni.

Comunque sia, ho trovato il blog seguendo quello di Ted Pattison, aperto oggi, segnalato da mio fratello sul Muro di UGIdotNET. Tra i blogger di Sharepoint leggo quello di Andrew Connell, che risponde a suo modo alla polemica di prima in questo post. Credetemi: è tutto da leggere!

Insomma, il mio Omea Reader si è arricchito questa mattina di personaggi più che interessanti.

Technorati Tags:   

Send to Kindle
My daily work

Analisi, sviluppo, modifiche, cambiamenti. Stravolgimenti.

Ci sono decine e decine di testi che trattano argomenti spinosi della programmazione di un buon software, che insegnano – o danno linee guide – su come un buon developer debba sviluppare e creare il software affinchè sia facilmente manutenibile, espandibile, adattabile ad esigenze future, etc. etc. Concetti importanti e ai quali non riusciamo più a fare a meno consentono di rendere indipendente un componente software da un altro. Parlo in prima persona: quando sviluppo un software (compreso quello su cui sto lavorando in questi mesi su PPC/WM) penso a come separare la UI dal DAL, oppure le logiche di business dall’engine che uso per i report, il componente per la comunicazione seriale e così via. E’ importante, ovviamente, perchè se un giorno decidiamo – esempio a caso – di usare Crystal Report invece di SQL Server Reporting Services, il software deve essere modulare, al punto che posso sostituire un assembly con un altro pur mantenendo il dialogo fra i componenti (interfacce).

Ma c’è una cosa su cui ho sempre difficoltà. Il cambiamento deve essere un cambiamento in linea con quanto determinato dall’analisi iniziale. Il cambiamento non deve portare a ripensamenti dell’architettura tale per cui quello che prima era uno stupido e semplice client diventi addirittura un server. Questi non sono cambiamenti: sono stravolgimenti, ai quali sinceramente non so ancora reagire in modo naturale. Quando al team di sviluppo vengono comunicati questo tipo di cambiamenti, bisogna avere la mente lucida ed avere il coraggio di dire che le persone che inizialmente hanno dato il via ai lavori probabilmente non hanno assolutamente pensato al sistema nella sua completezza.

E’ qui che le cose cominciano ad andare male, perchè apportare stravolgimenti ad un progetto software significa attaccare pezzi, significare invertire le frecce dei diagramma di flusso, significa che quello che prima era un output adesso è un input. Un bel po’ di cose per essere sicuri di poter continuare a sviluppare secondo i criteri a cui ho accennato all’inizio del post, perchè magari bisogna adattarsi a queste modifiche in tempi rapidi, e non sempre si ha l’accortezza di seguire le buone maniere della programmazione. Ed i bytes ne risentono, soprattutto se parliamo di bytes di un device PPC/WM, dove le risorse sono limitate e bisogna stare un pochino attenti a quello che si fa.

Ma non solo: se all’analisi segue lo sviluppo, se allo sviluppo segue un cambiamento, e poi un altro, ed un altro ancora, poi c’è uno stravolgimento…chi ci assicura che dopo non seguirà un altro stravolgimento che invalida (più o meno parzialmente) il lavoro che sto facendo oggi e per il quale vengo pagato?

Technorati Tags:  

Send to Kindle
My daily work

Grazie Petzold, è arrivato anche a me!

Dopo Corrado ed Andrea, anche io mi aggiungo alla lista di quelli che hanno ricevuto dal mitico Charles Petzold il suo ultimo libro “3D Programming for Windows“, dedicato completamente alla programmazione grafica 3D con WPF. Insieme al libro, mi è arrivata la spedizione di MSDN ed il numero di ottobre di MSDN Magazine.

Qui sotto ho riportato la dedica che lo stesso Charles ha messo a mano sui libri che ha voluto regalare ai blogger di WPF:

 

Ne farò tesoro, Charles, o almeno…lo spero!

Technorati Tags:   

Send to Kindle
My daily work

I programmatori sono come i poliziotti

Non mi riferisco al “vero” poliziotto, ma al classico stereotipo del poliziotto che vediamo nelle fiction e nei film americani. Il classico gruppo di poliziotti del classico distretto di polizia che oltres al lavoro vero e proprio condividono anche una parte della loro vita familiare e personale.

Per come vivo io il mio lavoro quotidiano, tra programmatori vige quella sorta di forte cameratismo che unisce come fratelli e che permette di aiutarsi l’un l’altro senza pensarci troppo ed in modo del tutto disinteressato. Ma non solo…un cameratismo che ci fa parlare e raccontare qualcosa di noi come se stessimo parlando ad un nostro caro amico, o ad un parente. Io lo noto ogni giorno. Magari questa cosa non succede con tutte le persone, ovvio, perchè alla fin fine c’è quello con cui leghiamo di più e c’è quello che invece ci sta un po’ sulle scatole, è normale, però non è raro che tra sviluppatori nasca un’amicizia ed un certo tipo di rapporto che va un po’ al di là del passare le classiche 8 ore di lavoro in ufficio. Con i miei colleghi attuali ho passato una bella domenica in Piemonte a farci una bella mangiata, sono andato in centro qua a Milano per festeggiare la riuscita della demo di fronte ai “capi”, e comunque anche quando sono in ufficio c’è sempre un’aria scherzosa, come se fossimo più un gruppo di amici. Ci si prende in giro, si parla di fatti personali, di cosa ci è successo durante le ferie, di ogni cosa e di più.

Insomma, trovo molte analogie con il lavoro del poliziotto. Spesso nei film (o perlomeno nei libri che ho letto) capita che i poliziotti (uomini e donne) passino il loro tempo libero fra loro, a volte parlando persino di lavoro (di questo o quell’omicidio, per esempio): esattamente come accade fra noi sviluppatori o geek, dove anche volendo non riesci a staccarti più di tanto da hardware, software e simili, ed il discorso vola via. Fanno feste di compleanno, fanno mangiate tutti assieme, ci si difende. E capita ogni tanto che nascano storie d’amore fra colleghi/e.

Send to Kindle
My daily work

E così…da oggi si ricomincia sul serio!

Da oggi sono nuovamente seduto nel “mio” ufficio open-space a ricominciare il lavoro interrotto poco più di un paio di settimane fa. Lo choc è stato forte: fino a qualche giorno fa ero tranquillo in spiaggia – più nudo che vestito – ed avevo caldo. La sera stessa cosa: stavo tranquillamente in campeggio senza maglietta, beandomi dell’aria fresca che qui a Milano ci scordiamo. Se qualcuno mi avesse rovesciato addosso una secchiata d’acqua, probabilmente l’avrei persino ringraziato. Da quando sono tornato a casa, domenica notte, mi sono ritrovato catapultato in un mondo dove l’autunno la fa da padrone: temperature che viaggiano intorno ai 15°C, piogge e freddo continuo. Oggi mi sono messo una camicia a maniche lunghe…impensabile durante le prime giornate di agosto! Comunque, da un certo punto di vista, è meglio così, perchè non c’è niente di peggio che venire a lavorare a Milano con il caldo torrido ed umido.

Mentre ero in ferie, sui giornali leggevo che non esistono più le ferie di agosto di una volta: adesso si preferisce fare le ferie anche a luglio o a settembre. E si vede eccome. Le tangenziali ed i parcheggi sono ancora vuoti…questo rende Milano molto più vivibile, e di conseguenza anche arrivare al lavoro senza troppi sbattimenti. Se siete fra quelli che vi state godendo ancora le vacanze, divertitevi e godetevele fino in fondo. Se siete fra quelli che sono già rientrati come me, tirate un bel respiro e siate pronti a vivere questa nuova annata lavorativa con il pieno delle energie.

Si apre quindi una nuova stagione, credo bella piena di tante novità che mi fanno (vi faranno) leccare i baffi: .NET Framework 3.5, Visual Studio 2008, SQL Server 2008 (ebbene sì…anche lui!) e tutto il resto. Non escludo anche di mettermi a combinare qualcosa con Windows Home Server, sarebbe interessante. E poi ho in serbo tante belle novità anche per il mio blog, devo solo riuscire a capire se riuscirò davvero a metterle in pratica come ce le ho in testa io.

Chi vivrà, vedrà!

Send to Kindle
My daily work

Vorrei che mi poteste vedere…

Questa mattina sono in versione Elegance: pantaloni eleganti, camicia rubata a mio padre che tanto è in vacanza, giacca con spilla con il delfino che salta sull’acqua. Avrei dovuto presenziare ad un mega-meeting con il mio capo-progetto e con vari “pezzi grossi” (mi han parlato di amministratori delegati e simili) della società nella quale sto lavorando. Ma siccome facevo parte dell’equipaggio secondario, alla fine sono qua tranquillo davanti al mio PC a seguire su un IP interno la videocamera di rete che mi sta trasmettendo in diretta l’evento: peccato che non c’è l’audio, altrimenti mi sembrava di stare lì con loro.

Volete sapere una cosuccia? Sono felice che il mio capo-progetto, che ha 2-3 anni più di me, abbia scelto in mezzo a tante persone che collaborano allo stesso progetto proprio me per dirigere con lui la riunione. Che poi per motivi logistici non ci sia potuto andare è cosa di poco conto. Ho cambiato lavoro, sono qui dai primi di Aprile, e devo dire che mi sono inserito molto molto bene nel team: ci sono i giorni in cui ci si scanna e ci sono i giorno in cui invece tutto procede a gonfie vele. E’ giusto che sia così. E sentirsi dire dal capo-progetto: “Cavolo, Igor, dai, domani andiamo insieme al meeting perchè mi sembri la persona giusta e perchè hai la giusta visione di tutto l’intero progetto…” è davvero una gran cosa e ripaga di tutto il caldo che ho patito questa mattina così conciato.

Adesso aspetto che la riunione finisca e poi mi faccio raccontare come è andata. Spero che sulla faccia degli amministratori delegati compaia un’espressione di soddisfazione per il nostro lavoro, che è la cosa più bella!

Send to Kindle
My daily work

You need some insecurity if you’re…a programmer?

Da quando ho preso per la prima volta il Time (in questa occasione), quando ho potuto ne ho presi altri numeri. Trovo bello leggere un inglese che non sia il solito inglese tecnico al quale siamo tutti bene o male abituati. E poi si parla di attualità, di politica e di nuovi media. Questo mese tra le altre cose c’è un’intervista ad un certo Al Pacino (!!), al quale viene fatta una domanda un po’ particolare. La sua risposta mi ha colpito.

Question: After your lifetime-achievement award, do you feel more secure in the business than you did in, say, in 1977?
Answer: I’m secure in knowing things I would like to do [professionally]. But you need some insecurity if you’re an actor. It keeps the pot boiling. I haven’t yet started to think about retiring. I was shocked when I heard about Paul Newman retiring at age 82. Most actors just fade away like old soldiers.

Ho trascritto a mano dal cartaceo che ho qui davanti, perdonatemi eventuali errori di grammatica. Ho trovato giustissimo quello che dice: you need some insecurity if you’re an actor. It keeps the pot boiling. Credo che questa cosa valga anche per noi programmatori: non dobbiamo mai dire…ok, ho imparato tutto…anzi…dobbiamo sempre rimanere sul chi vive, sempre pronti ad assorbire nuove tecnologie, metterci sempre in gioco, perchè quello che oggi è un dato di fatto, magari un domani non lo sarà più. Dobbiamo sempre stare in guardia, insomma.

Ma forse sto solo dicendo sciocchezze. Mi sa che sono più stanco di quello che penso: vado a nanna.

Send to Kindle
My daily work

Lavoro intenso e sensazioni di stanchezza

E’ un periodo intenso sul lavoro.

Ieri mattina abbiamo fatto una demo al cliente: demo che si è conclusa per l’ennesima volta con estreno successo. Lo sviluppo prosegue a ritmo celere, e questo comporta il fatto che ho poco tempo di seguire i vostri blog e – peggio ancora – di scrivere qualcosa sul mio. Ho appena spento il notebook, sul quale sto facendo alcuni esperimenti con un progetto che fa un uso intenso di NHibernate.

Sono sempre più convinto del fatto che il nostro lavoro – così come qualsiasi lavoro intellettuale/di testa – mi fa tornare a casa (non sempre, ma qualche volta sì) davvero spossato. Una stanchezza che nei casi più gravi mi fa passare la voglia di prendere la bicicletta e di fare un po’ di movimento oppure di andare al cinema, di uscire con gli amici o semplicemente di mettermi in macchina. Ripeto: non è una cosa che mi succede spesso, ma quando mi prende sono assalito da una pigrizia sconfinata. E’ una cosa di cui tenere conto, credo, perchè non mi accadeva invece quando facevo il falegname: tornavo a casa fisicamente distrutto, ma con la voglia di essere sempre in movimento, o di raggiungere il mare anche durante un normalissimo sabato sera. Un po’ come dire…ozio chiama ozio.

Sto sbadigliando, vado a leggermi un po’ di SDL – Security Design Lifecycle, il libro che ho preso durante un evento TechNet a cui ho partecipato recentemente. Domani finalmente è venerdì: ho già deciso che sabato mi concedo una giornata di relax, mentre domenica – se il tempo rimane quello che è adesso – mi aspetta una bella camminata al Passo del Penice nel piacentino.

Technorati Tags:

Send to Kindle