Marco Russo

.NET, Business Intelligence e dintorni

News

Microsoft SQL Server & Business Intelligence Conference 2010

Torino Technologies Grou

Corsi

Libri

Miei blog in inglese

settembre 2006 - Posts

Task Manager in Windows Vista

Finalmente. Finalmente il Task Manager offre un minimo di chiarezza in più nelle colonne che presentano le informazioni sulla memoria.

A parte il fatto che ne sono state aggiunte (tra quelle configurabili), quella di default si chiama adesso "Memory (Private Working Set)", che ovviamente è una parte del "Working Set (Memory)". Per i distratti e tutti quelli che non passano la domenica a leggersi un Inside Windows qualunque, il primo indica la quantità di RAM fisica allocata per le sole pagine di memoria virtuale richieste dal processo in esecuzione, mentre la seconda indica la quantità di RAM fisica complessiva assegnata al processo.

Il più significativo indicatore "Virtual Memory Size" è invece stato rinominato in "Commit Size": formalmente corretto, anche se sconosciuto ai più (è il totale della memoria virtuale richiesta dal processo - di solito maggiore del working set, in alcune circostanze può anche essere minore).

Eventi DevLeap 2006/2007
La fine dell’estate apre tradizionalmente la nuova stagione di eventi, anche per DevLeap

Il nostro evento centrale sarà DevCon 2007, la prossima primavera. Nel frattempo abbiamo organizzato eventi più mirati in termini di argomenti.

Il primo è Visual Studio Team System Day che, grazie anche alla sponsorizzazione di Microsoft Italia, si terrà in forma gratuita il 27 settembre 2006. SOLD-OUT! Le iscrizioni all'evento sono chiuse.

La settimana successiva, dal 2 ottobre comincia un corso di 3 giorni su .NET 3.0 in cui cercheremo di “travasare” l’esperienza accumulata in progetti reali sulla nuova piattaforma.

A fine ottobre avremo 3 eventi da un giorno, contrassegnati dal marchio DevLeap OneDay: Architettura applicazioni .NET 3.0 e Accesso ai dati ottimizzato con .NET 2.0, con repliche a Milano e Roma.

A dicembre ci sarà un evento su BizTalk Server e in primavera sarà la volta di DevCon 2007, per noi l’appuntamento più importante per durata e copertura di argomenti.

DevCon 2007 sarà all'insegna di approfondimenti su .NET in versione 2.0 che resta la piattaforma base delle nostre applicazioni e le novità delle librerie .NET 3.0: come sapete, .NET 3.0 non porta con sé una nuova versione di linguaggi e compilatori, bensì framework applicativi che completano la piattaforma 2.0 per User Interface (WPF), comunicazione fra layer e servizi (WCF), gestione di Workflow (WF) e autenticazione basata su digital identities (WCS). Ovviamente non mancheranno dei richiami a prodotti di futura uscita, per continuare a guardare avanti.

Crediamo da sempre nello sviluppo di software scritto bene, non siamo mai scesi a compromessi proprio per questo motivo. I DevCon OneDay e la DevCon 2007 sono e saranno la testimonianza che un software progettato bene richiede meno sforzo nella scrittura, nella manutenzione e nell'aggiornamento a nuove versioni dei framework. Estates Management, l'applicazione case-study che proponiamo e manteniamo ormai da anni, sarà la base di tutti questi eventi.

http://eventi.devleap.com è il puntatore ai nostri eventi presenti e futuri: come sempre, poca grafica e molta sostanza.

Bridge the Gap
Luca, Marco, Paolo e Roberto

Corso .NET 3.0 2-4 ottobre - ultimi posti

Volevo segnalare che il corso su .NET 3.0 che terremo a Segrate dal 2 al 4 ottobre 2006 (WF, WCF, WPF e tanto altro ancora) è quasi al completo.

Consiglio agli indecisi dell'ultimo minuto di affrettarsi, anche perché per motivi logistici sarà difficile replicarlo in tempi brevi.

Uso di linked dimension in SSAS

Segnalo un mio post in inglese dove parlo di uno dei problemi che si possono avere (con relativo workaround) usando le linked dimension su Analysis Services 2005.

Se qualcuno ha già avuto esperienze d'uso con le linked dimension, mi piacerebbe avere qualche feedback.

Il mercato del lavoro nell'informatica

Recentemente ho scritto alcuni post relativamente alla selezione di personale in ambito IT.

Stamattina ho ricevuto via mail alcune considerazioni di Alessandro Perilli che mi danno lo spunto per alcune considerazioni sui motori di ricerca esistenti.

Conosciamo tutti siti come Monster e simili. Meno conosciuto forse quello della Borsa Nazionale del Lavoro, promosso dal Ministero del Lavoro. Generalmente questi siti sono la semplice evoluzione informatizzata della rubrica di annunci di ricerca/offerta del personale che esistono da decenni (e forse più).

Se allarghiamo un attimo i nostri orizzonti, scopriamo che esistono forme più sofisticate, come Guru.com e oDesk, che agiscono da veri e propri intermediari a livello planetario tra committente e prestatore d'opera, arrivando anche a gestire (e garantire) la transazione economica tra le parti. Questi siti consentono a una società americana (o italiana) di fare un contratto di sviluppo con un professionista indiano, giapponese, australiano o canadese, gestendo tutte le fasi dell'attività (specifiche, report ore lavorate, ecc.). Notare che spesso questi contratti definiscono attività pagate con un meccanismo "salariale" (X$ all'ora) e non a progetto.

Una cosa interessante di questi siti è che il mercato funziona al suo meglio: un programmatore .NET può costare da 10$ a 65$ all'ora. Può sembrare assurdo che per lo stesso lavoro ci sia una differenza del 500%, ma se qualcuno è disposto a pagare questa differenza significa che una ragione deve esserci. Ovviamente i programmatori che lavorano in paesi con un costo della vita più basso hanno richieste minori, ed è presumibile che a parità di skill un programmatore che vive in Ucraina o in India abbia una richiesta minore di uno che vive in Svezia. Chiaramente in tutto questo subentrano fattori come la capacità di relazione e comunicazione, le differenze culturali tra committente e prestatore d'opera, che nell'ambito dello sviluppo del software possono generare problemi che si ripercuotono sul risultato finale.

Cerco di spiegarmi meglio: se ho bisogno di sviluppare un componente per la mia applicazione e sono in grado di fornire precise specifiche, cercare una persona con gli skill, la disponibilità e un prezzo adeguati alla mia richiesta, questa è una cosa sensata da fare. Se però devo sviluppare un'applicazione completa partendo da zero, applicazione che poi sarà la spina dorsale della mia azienda o sarà un prodotto da vendere pacchettizzato a migliaia di clienti, allora l'outsourcing (in qualsiasi forma lo si voglia vedere) è un passo molto pericoloso (sostengo questa tesi da anni e non certo da oggi, e notate che lo dico da consulente, quindi anche contro i miei interessi).

Ciò detto, io ritengo che ci sia spazio (e necessità) per entrambe le modalità di lavoro: outsourcing, consulenza, lavoro dipendente. Ciascuno ha un suo ruolo e una sua funzione e partecipa all’ecosistema globale. Che piaccia o no, se il sistema funziona viene applicato a prescindere da leggi, leggine e vincoli burocratici. Anticipo qualche commento: in Italia non funziona, abbiamo troppe leggi, abbiamo aziende che ne approfittano, ecc. ecc. – tutto vero, ma come sempre mi piace ricordare che in Italia esistono le aziende sane come in altri Paesi esistono le aziende che se ne approfittano; la cultura italiana è più incline al lamento di quella anglosassone, non dico che sia poi solo un problema di prospettive, c’è certamente un problema di sostanza, ma non si può sempre e soltanto ragionare per stereotipi e generalizzazioni.

Notare che in alcuni casi i programmatori sono affiliati (credo significhi dipendenti…) di società di outsourcing (le nostre società che fanno “body rental”, termine che personalmente reputo orrendo). Trasformato in soldi, equivale a dire che il loro compenso reale è ancora più basso di quello richiesto sul sito. Evidentemente queste società forniscono almeno l’infrastruttura (computer, linea internet) per poter lavorare con queste modalità.

Una domanda che mi ha fatto Alessandro è: ma in base al ragionamento di Joel Spolsky che si lamenta tanto di chi popola i normali portali di ricerca lavoro come Monster, chi è che invece frequenta questi altri portali per "lavoretti su commissione"? Beh, uno sguardo ai profili disponibile consente di rispondere: per esempio, i programmatori .NET che hanno lavorato più ore con oDesk arrivano da Russia, India, Ucraina, Lituania, Georgia. Per arrivare al Canada sono dovuto arrivare alla posizione 45. Questo secondo me significa che si possono trovare anche persone brave, ma sarò difficile trovarle nello stesso Paese dell’azienda committente a metà del prezzo a cui è abituata a pagare risorse locali.

Il sasso l’ho tirato. Mi piacerebbe leggere opinioni da entrambe le parti.

Antivirus o no?

Ho appena letto questo post di Alessandro Perilli che commenta un articolo di Roger A. Grimes relativamente al ruolo dei software antivirus oggi e negli anni a venire.

La mia posizione ricalca in pieno quella di Alessandro. Ciò detto, cerco sempre di convincere chiunque (sistemisti e programmatori compresi) a installare un antivirus, perché le capacità tecniche necessarie per poterne fare a meno sono molto ma molto elevate. La parte difficile però non è questa, ma convincere le persone che l'antivirus difende l'utente più da sé stesso che dal resto del mondo, e di per sé non è una garanzia sicura al 100%.

Come attrarre bravi programmatori

A pochi giorni di distanza da un mio commento a un altro articolo di Joel Spoelsky, rieccomi sull'argomento, ma ne vale la pena: Joel ha scritto un nuovo articolo su come attrarre i migliori programmatori nella propria azienda. Ancora una volta, non posso fare altro che sottoscrivere l'intero articolo a cui aggiungo una considerazione: può sembrare utopistico realizzare tutte le cose descritte, ma è assolutamente certo che funzionano. In particolare, l'errore più grande e frequente che vedo commettere nelle tante aziende che vedo è quello di dotare i programmatori di computer non adeguati con monitor singoli e piccoli.

Provo a fare un ragionamento che qualsiasi manager dovrebbe comprendere: è pensabile che un falegname dipendente in una falegnameria abbia a casa delle attrezzature più avanzate di quelle che ha sul posto di lavoro per il solo piacere di averle (e non per farci business)? Può avere senso che un dipendente in una carrozzeria abbia nel suo garage un forno per la verniciatura a caldo più nuovo di quello che ha in officina? Si può immaginare che un cameramen usi per hobby una videocamera più costosa di quella che usa al lavoro?

La risposta a tutte queste domande è: ovviamente è assurdo e impensabile.

Bene.

Per quale motivo, quindi, questa è la situazione che si verifica più spesso con gli sviluppatori (e in particolare con quelli bravi)?

Questa volta vorrei avere le risposte di qualche manager che ha la responsabilità di decisioni simili, ma temo che non leggano questo blog o se lo fanno non abbiano nessun programmatore nelle condizioni appena descritte...

PS: Lo ammetto, sarei felice di far fruttare per una volta le mie (noiose) conoscenze fiscali e amministrative per controbattere pubblicamente alla giustificazione "dobbiamo finire il piano di ammortamento" che ho già sentito almeno una o due volte... :-)

Usare gli schema di SQL 2005 con Visio 2003

Se volete creare un modello di database con Visio per SQL Server 2005 usando anche gli Schema, non perdete questo post che spiega come fare, usando un piccolo script SQL che consente di usare una convenzione di nomi in Visio che porta ad avere alla fine il risultato voluto.

Ricerca di brillanti sviluppatori sul mercato del lavoro

Joel Spolsky ha scritto un interessante post relativo alla possibilità di trovare sul mercato dei brillanti sviluppatori: la conclusione è che non ci sono e che bisogna andarli a cercare, con varie tecniche che illustra nella sua (piuttosto lunga) esposizione.

Non riporto tutte le considerazioni, certamente il mercato italiano è diverso da quello americano: poiché è quasi impossibile licenziare una persona, molte aziende ricorrono (anche per motivi economici, ma questo è un altro discorso) allo strumento della collaborazione a progetto (spesso un eufemismo, ma anche questo è un altro discorso) per reclutare persone di cui possono fare a meno nel momento in cui non ne avessero più bisogno. Questo rende possibile trovare "sul mercato" persone con una buona professionalità ed esperienza. Ragionando sui volumi, però, quello che dice Joel è applicabile anche nel nostro mercato: è molto difficile trovare dei curriculum di sviluppatori brillanti, perché il più delle volte essi non sono sul mercato. In realtà se ne trovano forse più che negli USA, visto che in Italia abbiamo ancora molte aziende che non applicano criteri di meritocrazia, crescita professionale e formazione interna al punto da riuscire ad allontanare le menti migliori (in un'azienda che va male, quasi sempre i primi ad andarsene sono sempre i migliori).

Fatte quindi tutte le dovute proporzioni, i consigli di Joel sono validi anche da noi, sia che vengano letti da parte di chi cerca lavoro, sia che vengano letti da parte delle aziende. Esempi di stage nelle aziende ce ne sono anche da noi e se fatti nelle aziende giuste, offrono sempre valide opportunità: forse non ce ne sono abbastanza, ma ce ne sono. Condivido anche la parte finale (bonus a chi porta in azienda delle buone risorse) perché ho già visto a cosa porta la degenerazione del sistema (niente di buono).

Vi invito a leggere il post di Joel perché è molto interessante (ripeto, va interpretato e adattato alla nostra realtà). So che è sempre un argomento molto sentito... i commenti sono aperti, mi piacerebbe sentire altri punti di vista.