Trovo decisamente angusto il rettangolino che Lorenzo ha lasciato ai commenti per il suo post, e siccome non sono magrolino, uso la finestra di WLW che è decisamente più ampia e confortevole per rispondere alla sua interessante provocazione.
L'altro giorno ho costruito un soppalco in garage, ho chiesto informazioni su come costruirlo ad un amico strutturista (è un ingegnere che calcola le strutture di cemento armato), poi l'ho costruito seguendo le gentili informazioni dell'addetto al taglio legno del Leroy Merlin.
Questo perchè se ci sono architetti che non scrivono mai codice ci sono ingegneri che non fanno mai i carpentieri; è così: il migliore archietto è quello che fa le scelte e progetta non per averlo solo studiato ma per averlo anche provato sul campo.
Quando mi chiedono di progettare un sistema, prima di scrivere tutte le classi e i metodi, faccio una verticalizzazione di un oggetto, parto quindi dal model, e per quell'oggetto scrivo tutte parti che riguardano la sua vita, dall'interfaccia utente, ai serivzi, alla security, alla concorrenza e persistenza. In parte per dare un modello a chi dovrà scrivere il resto (che poi sono quasi sempre io, sp a parte), ma soprattutto per verificare con mano se le mie idee sono poi realmente praticabili in fase di stesura del codice.
L'importate è capire e poi usare la propria testa. Buttare giù un pattern senza averne capito a pieno la logica significa buttarsi da un aereo senza paracadute.
Sulla security, Lorenzo sfonda una porta aperta: chi mi conosce sa che implemento sempre un pattern coso (che chiamo SecuredTask) che praticamente vincola ogni metodo di una classe ad un autorizzazione preventiva. Questo perchè ho imparato a mie spese che sottovalutando questo aspetto in fase archietturale diventa poi impossibile implementarlo successivamente, a meno di pesanti interventi sul codice esistente.
Detto questo non mi piace definirmi Archietto e nemmeno archietto. Non so nemmeno se quello che faccio è simile o meno a quello che fa un architetto. A me piace fare questo mestiere perchè mi diverte, e mi diverte farlo nel migliore dei modi. Mi piace però cambiare: ogni tanto qualche docenza, ogni tanto il program manager ogni tanto il progettista e quando posso il programmatore: scrivere il codice mi da un'adrenalina che mi fa stare sveglio di notte, senza cognizione della fame, della sete e del tempo che passa, come una droga.
L'altro giorno sono andato all'evento Expression around the clock, era un evento per creativi e io ci stavo come i cavoli a merenda, ma ho voluto andarci, primo perchè in questi eventi la dolce presenza femminile è meno scarsa, secondo perchè ogni tanto fa bene stare con gente che ha terrore della parola SDK.