Sabato ero ad un matrimonio, ho ritrovato tanti amici dell'università che era un po' di tempo che non vedevo.
Molto interessante è stata la discussione con uno di loro, che lavora nel campo del controllo strumentale delle strutture degli edifici (e relativi interventi di messa in sicurezza). Mi sono reso conto di una cosa mentre mi parlava delle altre attività che riesce a portare avanti: i cicli di investimento che la sua azienda opera per tecnologia e innovazione sono dell'ordine di 5-7 anni, nei quali si tende ovviamente a massimizzare lo sfruttamento delle strumentazioni fino al loro estremo, prima di cambiare.
Da quando ho messo in piedi la mia minuscola software house un tarlo mi sta rendendo la vita difficile (senza esagerare...): è giusto rincorrere in maniera ossessiva l'innovazione tecnologica nel nostro campo?
Io non metto in dubbio che sia positivo che Microsoft, Sun, o chi per esse aggiornino costantemente le proprie tecnologie su cui noi poi realizziamo lo nostre soluzioni, ma mi chiedo se sia realmente necessario bruciare conoscenze acquisite nello stretto volgere di un annetto o giù di lì. Rischiamo davvero di essere sempre in beta, di basarci su prodotti che vengono offerti con il solo supporto della libreria e tanto lavoro manuale da metterci.
Questo non è un discorso sulla passione, è un discorso che sa molto di più di strategia aziendale se vogliamo. Perchè quello che manca a mio avviso è una "line of business" (Janky sarà fiero di me...) anche piccola.
Da più parti si denuncia che la vera mancanza nel mondo del software è la qualità: si scrive troppo codice di bassa qualità, poco efficiente e in tempi troppo lunghi. Sinceramente penso che non sia tanto colpa della scarsa qualità delle persone che lo producono, ma sono molto più propenso a pensare che sia colpa della scarsissima qualità degli strumenti a disposizione. Come se oggi un mobiliere lavorasse ancora con gli strumenti di Geppetto...
Vedo mio cognato che fa mobili su misura da solo (si letteralmente da solo) ed ha un capannone con macchinari piuttosto moderni, che lo aiutano in maniera incredibile nel realizzare cucine, camere da letto, soggiorni.
E noi? Noi che utilizziamo WPF scrivendo XAML a mano quasi? Noi che "solo i grandi team di sviluppo hanno bisogno di Team System", noi che "una catena di montaggio basata su Continuous Integration è troppo complessa da mettere in piedi", noi che "la profilatura dei prodotti che sforniamo è troppo costosa in termini di tempo e strumenti", noi che "quanto è figo Silverlight, ma dalla 1.0 alla 1.1 (rigorosamente beta nds) sono quasi due prodotti diversi"...
Si è vero: mode polemica on. Ma io davvero comincio a pensare piano piano in termini di investimento aziendale, e temo sinceramente che sia dannoso stare troppo dietro alle ctp e alle beta (e se non erro Raf sarebbe d'accordo con me...).
Quindi come ai vecchi tempi degli slogan, io comincio ad essere dalla parte di quelli che vogliono più tools (a più buon mercato di grazia, o almeno con una migliore distribuzione del prezzo delle licenze per numero di sviluppatori!!!) ed un po' meno framework (mi vanno bene le Beta 2 al massimo, ma lasciamo le CTP a chi fa il tester di mestiere...).
Il mio lavoro è produrre software affidabile ed efficiente, in tempi stretti (sempre più stretti), a prezzi concorrenziali (sempre più concorrenziali). Ho bisogno di strumenti che mi aiutino a farlo, senza dover necessariamente rivoluzionare le mie conoscenze ogni 6 mesi.
Forse sono solo pigro?
Saluti