Abc ...defg

Qualche giorno fa un mio cliente mi ha chiesto la disponibilità per supportare una persona nel suo percorso di formazione relativo a .NET e poche settimane prima mi era arrivata un'altra richiesta simile.

In realtà negli ultimi due anni ho ricevuto diverse volte questa richiesta ed in un modo o nell'altro, a seconda di entrambe le disponibilità, credo e spero di essere sempre riuscito a condividere quelle nozioni apprese in questi anni grazie soprattutto ad UGIdotNET e Microsoft.

Perché lo scrivo qui?

Come praticamente è avvenuto in tutte queste occasioni stavo riscrivendo più o meno la solita mail con qualche punto (o meglio spunto) di partenza e notando uno strano smell :-), ho deciso di fare Refactoring, centralizzando sul blog.

Vorrei però premettere alcuni punti fondamentali:

  1. (cit.) Nascere smanettoni è naturale, campare smanettoni è diabolico.
    Serve (tanta) volontà, umiltà, rispetto delle idee altrui e voglia di imparare.
    Accontentarsi di vedere il gingillo girare senza preoccuparsi di approfondire o capire se e come si sarebbe potuto creare meglio non porta da nessuna parte.
  2. Tra il dire e il fare c'è di mezzo l'imparare! :-)
    Mai testare una nozione architetturale su codice di produzione.
    C'è chi utilizza un progetto reale commissionato per testare le nozioni teoriche appena apprese.
    La domanda è: cosa succede se ci si dovessere rendere conto a progetto iniziato di non essere ancora in grado di applicare correttamente le nozioni apprese?
  3. IMHO, .NET è un fantastico strumento e le nozioni architetturali sono un altro fantastico strumento, di altro tipo. Collaborano molto bene insieme e .NET senza design (architetturale) è come vedere un film di Ollio senza Stanlio (o viceversa), per cui bisogna mettere in conto di dover necessariamente acquisire concetti su entrambe le aree (in percentuale variabile a seconda delle proprie mansioni).

Premesso ciò, il vero punto di partenza, sempre IMHO, è UGIdotNET, lo User Group Italiano degli utenti di .NET, soprattutto per gli impareggiabili workshop che organizza (tra l'altro quasi sempre gratuiti, per chi ancora non lo sapesse).

Sul sito si può trovare, in alcuni casi, anche il materiale degli eventi passati (previa registrazione, se non ricordo male), ma sono disponibili anche molti articoli e tips decisamente utili. Il wiki è in pausa di riflessione, anche se comunque IMHO non ha mai conquistato una grossa fetta di utenti, nonostante il valore dei suoi contenuti e l'impegno degli autori.

Altra ottima (e comoda) risorsa sono i webcast MSDN; sono tutti di ottimo livello, ma in particolare negli ultimi anni ne ho seguiti alcuni che sono dei "must", cercherò di elencarli e linkarli in seguito.

Per la formazione in aula (IMHO fondamentale), negli ultimi anni ho "consumato" :-) quelli tenuti da Andrea e Dino, in particolare su ASP.NET, Architettura, ecc. ed ho seguito l'ottimo mastering tenuto da Janky su NHibernate.

Infierendo sui poveri alberi, credo sia proprio vero che almeno Design Patterns e P of EAA siano da considerarsi obbligatori, se non sulla propria scrivania, almeno in ufficio, ...almeno come reference.

A questi, personalmente, aggiungerei di sicuro la nuova "creatura" della coppia di sportivi "racchettari", ma giustamente in quel libro si fanno discorsi "tosti" sull'architettura e, più che un punto di partenza per chi cerca di iniziare un percorso di formazione su .NET, potrebbe essere considerato una pietra miliare successiva.

E poi... c'è sicuramente molto, molto altro.

Argomenti? Un infinità, non riuscirei neanche ad elencarli...

Al volo mi vengono soprattutto in mente (cercando di riavvolgere la memoria):

  • i concetti fondamentali relativi ad un corretto OOP (astrazione, polimorfismo, incapsulamento, ecc.),
  • la separazione in layers differenti,
  • il pattern Domain Model,
  • il mondo dei tools per l'ORM (solo per questo punto servono MESI, per iniziare ad utilizzarli seriamente),
  • il Refactoring,
  • i principi e le metodologie Agili,
  • le metodologie di test,
  • le software factory ed affini,
  • (forse soprattutto) le tantissime esperienze ed impressioni personali che ho avuto la fortuna di poter ascoltare da altri e spesso vivere in prima persona,
  • molto altro ancora (feedback aperti in soccorso della memoria...)!

Insomma... tanta, troppa carne al fuoco per poter pensare ad un "Bignami" su soluzioni enterprise con .NET dalla A alla Z.

Il mio consiglio é quello di iniziare con tanta buona volonta e poca fretta. Un po' alla volta, senza fare il passo più lungo della gamba... magari evitando di ricommettere errori altrui.

Print | posted @ lunedì 26 gennaio 2009 23:12

Comments on this entry:

Gravatar # re: Abc ...defg
by Davide Mauri at 27/01/2009 00:04

Permettimi una "tiratina" (amichevole) d'orecchie: quando hai parlato di ORM ti sei dimenticato di aggiungere anche la conoscenza del database (MySQL, Oracle o SQL Server poco importa) sulla quale si andrà a sviluppare...altrimenti l'ORM diventa una strada per andare più in fretta verso la rovina :-)
Gravatar # re: Abc ...defg
by news@duzioni.com at 27/01/2009 12:23

Ciao Davide, non l'ho dimenticata.
Reputavo (forse erroneamente, in effetti) scontata la conoscenza minima essenziale del database utilizzato!
Per quanto mi riguarda, mi ritengo tutt'altro che un DBA, ma ho cercato di approfondire diversi aspetti di SQL Server tramite il corso di 5gg sul 2005 a Sesto SG (c'eri anche tu, tra gli oratori), webcast, ecc.

Poi, come sai, io considero l'RDBMS come una base dati, più che come una piattaforma applicativa, ma questo è un altro discorso su cui sicuramente divergiamo. ;-)

Grazie per la nota cmq, è stato detto più volte ma lo ribadisco anche io: utilizzare un ORM non significa potersene fregare dell'RDBMS sottostante!
Gravatar # re: Abc ...defg
by Davide Mauri at 27/01/2009 19:23

> Poi, come sai, io considero l'RDBMS come una base dati, più che come una piattaforma applicativa, ma questo è un altro discorso su cui sicuramente divergiamo. ;-)
Non credo :-) Le divergenze ci sono probabilmente sulla quantità di "intelligenza" che si vuole mettere nel db, ma siamo sul piano architetturale e dato che la linea di confine in questo caso è molto sottile, sarebbe necessario contestualizzare molto ogni esempio....e non lo si può certo fare in un commento :-)
Sono cmq convito che un db deve fare il db non certo l'application server :-)
Gravatar # re: Abc ...defg
by Mario Duzioni at 27/01/2009 20:02

Mi fa davvero piacere.... come non detto! ;-)
Gravatar # re: Abc ...defg
by news@duzioni.com at 29/01/2009 08:47

Ciao Luca, grazie!

Curioso... a me piace molto la forma mentale del wiki, ma la vedo molto difficile da praticare (insieme).
L'argomento wiki è molto interessante e temo ci vorrebbe molto più di un commento per parlarne... :-\

Il primo Agile Day è stato per me un colpo di fulmine: maestoso (tranne la sessione sul TDD in Ruby, sinceramente) e mi ha aiutato moltissimo ad esplicitare e comprendere tanti concetti "nebulosi" che erano presenti nella mia mente.

Agile Day II è stato meno folgorante del primo (sai che sono fin troppo trasparente... :-D) ma comunque molto positivo. Molto belle la tua sessione in coppia con Nicola e quella di Lorenzo su TS!

Dopo il trasferimento della sede sinceramente non sono più riuscito a seguire... :-(

Il "movimento" Alt.NET lo conosco molto poco, non ho elementi per esprimermi ma francamente non mi sono sentito particolarmente attratto da quanto letto alla nascita.
Comments have been closed on this topic.