Archivi categoria: umorismo

Il mercato dei programmatori

Buongiorno, vorrei un chilo di programmatori dotnet front-end, due chili di programmatori Java back-end, mezzo chilo di programmatori T-SQL e due etti di programmatori Angular JS.

Vi è mai capitato di leggere degli annunci di lavoro che hanno a che fare con il mondo dell’Informatica?

Continua a leggere

Annunci

Pubblica il tuo curriculum vitae su YouTube

Questa settimana sono rimasto affascinato da un articolo di Martina Caluri intitolato Presentarsi al meglio con Powtoon.

L’articolo introduce un software, denominato PowToon, utile per realizzare presentazioni video che possono essere pubblicate direttamente su YouTube.

Vi invito a leggere questo articolo perché l’argomento è veramente interessante.

Affascinato da quanto letto mi sono messo a giocare con PowToon ed in poche decine di minuti ho realizzato queste due simpatiche presentazioni animate 🙂

Il mio curriculm vitae:

Il trailer del mio libro “Self-Publishing: Guida Pratica”:

Se trovate dieci minuti di tempo provate anche voi, è veramente divertente 🙂

Programmazione vs Scacchi

Mettiamo in relazione l’arte della programmazione con il gioco degli scacchi.

Ci vogliono dieci minuti per imparare le regole del gioco degli scacchi, cosi come ci vuole poco tempo per smanettare un linguaggio di programmazione. Nel mondo degli scacchi ci muoviamo dentro una scacchiera, nel mondo della programmazione ci muoviamo all’interno di un IDE (Integrated Development Enviroment) di sviluppo. Apprese le regole del gioco degli scacchi possiamo cominciare a fare qualche partita cosi come appresi i concetti elementari della programmazione (assegnazione,condizione,iterazione) possiamo cominciare a scrivere i primi algoritmi in un linguaggio di programmazione.

Riflettiamo, però, sui risultati che raggiungiamo.
Nel gioco degli scacchi muovere i pezzi limitandoci a rispettare le regole non ci porta molto lontani cosi scrivere delle istruzioni che soddisfano le regole sintattiche del linguaggio e le regole semantiche dell’algoritmo non ci permette di raggiungere un grande traguardo. Ciò che manca in entrambi i casi è l’uso di una strategia, la differenza per vincere a scacchi o per sviluppare un buon software sta nell’uso di una strategia vincente.

Nel gioco degli scacchi la strategia vincente deriva da anni di studio e di applicazione nel gioco, cosi come nella programmazione la strategia vincente deriva dallo studio delle metodologie di progettazione del software e dal loro impiego nel tempo.
Concludo questa metafora ribadendo il concetto che conoscere il gioco degli scacchi non ci rende dei maestri e che conoscere i costrutti dell’informatica e i linguaggi di programmazione non fa di noi dei buoni progettisti di software.

In entrambi i casi serve molto studio e applicazione sul campo, possiamo studiarci dieci libri sugli scacchi ma se non facciamo mai una partita abbiamo solo assimilato tante nozioni che sono nascoste da qualche parte nel nostro cervello; allo stesso modo possiamo studiare per anni le metodologie di progettazione del software ma se non realizziamo mai un progetto/sistema informativo restano solo teoria non applicata.

Il grande fisico tedesco Albert Einstein sintetizzò questo concetto cosi:

“La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perchè. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perchè.”
Albert Einstein

Questo è un estratto dell’articolo “Metodologie di progettazione del software Object-Oriented” di Simone Moretti

Il guerriero stanco

Il guerriero stanco

Il guerriero stanco

Una folata di vento bastava per ergerti a maestrale
Sempre pronto eri a brandire l’arma
In prima fila ti trovavo, sempre vigile e all’attenti

Imponente, irriverente, strafottente e incazzato

Bei tempi che furono,
battaglie vinte, gloria, gioia,
appagamento

Oggi tu vivi nel ricordo di quel passato maestoso
Una ultima folata aspetti prima di abbassare per sempre il capo.

Licenza Creative Commons
Il guerriero by Simone Moretti is licensed under a Creative Commons Attribuzione – Non commerciale – Non opere derivate 3.0 Italia License.
Based on a work at https://simonemoretti75.wordpress.com/2013/11/06/il-guerriero/.

Programmazione: Si stava meglio quando si stava peggio?

In questi giorni sono assorto in una profonda riflessione:

Si stava meglio anni fa quando il programmatore doveva conoscere solo poche librerie per poter sviluppare o si sta meglio adesso che il programmatore deve conoscere decine e decine di librerie per poter scrivere software al passo coi tempi?

Proviamo ad analizzare i pro e i contro tra il mondo della programmazione di dieci anni fa e quello di adesso.

Programmazione di dieci anni fa:
Pro:
1) i programmatori non dovevano gestire un grande know-how quindi i tempi di formazione e soprattutto di aggiornamento delle competenze erano brevi;
2) le aziende non dovevano investire molto sulla formazione del dipendente
Contro:
1) Si dovevano scrivere programmi composti da decine di migliaia di righe di codice
2) Le besti practices non erano molto diffuse quindi mancavano degli standard di programmazione professionali

Programmazione di oggi:
Pro:
1) Avendo a disposizione librerie molto avanzate si riesce a implementare programmi migliori e con molto meno codice rispetto a dieci anni fa
2) Grazie a internet è diffuso il know-how e gli standard qualitativi dei software sono più alti
Contro:
1) I tempi di formazione e soprattutto di aggiornamento delle competenze sono notevolmente aumentati perchè le continue evoluzioni delle tecnologie costringono i programmatori a dover studiare continuamente le novità per stare a passo con i tempi (le aziende non investono sulla formazione e i programmatori devono fare auto-formazione nel poco tempo che hanno a disposizione)
2) Allestire dei team di sviluppo diventa sempre più difficile perchè le risorse a disposizione spesso non sono skillate perchè non a passo con le tecnologie del momento
3) i tempi di startup dei progetti si allungano sia per trovare le risorse skillate (le aziende non assumono più perchè costa meno trovare il know-how  fuori dell’azienda) sia per consentire alle risorse trovate di fare esperienza sulla nuova tecnologia appena uscita (e non esente da bug)

Da questa breve riflessione il mio convincimento personale è che si stava meglio prima perchè:

1) Ci si mette di meno a scrivere decine di migliaia di righe di codice che a formarsi continuamente sulle nuove tecnologie, ricordiamoci che una delle più grandi invenzioni dell’informatica è il copia ed incolla  e dopo qualche anno di esperienza lavorativa tutti avevano i propri frammenti di codice da riutilizzare. Alla fine su decine di migliaia di righe di codice la percentuale di righe di codice scritto ex-novo era relativamente bassa.
2) Le aziende assumevano di più perchè non rischiavano, come oggi, di avere programmatori obsoleti dopo tre anni;
3) Chi si affacciava al mondo della programmazione non aveva la sensazione di dover scalare l’EVEREST

La mia chiaramente vuole essere una provocazione il cui scopo è mettere in evidenza che tutto questo affannarsi verso il progresso tecnologico/informatico ha i suoi pro e i suoi contro. Stiamo raggiungendo la possibilità di sviluppare software interplanetari ma rischiamo di avere solo una nicchia di eletti con il know-how necessario e milioni di precari che si devono arrabbattare per scrivere quella riga di codice al passo coi tempi.

Dopo questo sfogo vi devo proprio salutare perchè devo dedicare la mia pausa pranzo allo studio delle nuove tecnologie (ASP.NET MVC 4, LINQ, ENTITY FRAMEWORK 5, Silverlight 4, JQuery, Windows Azure, SQL SERVER 2012, Windows Phone 8, COBOL for STAR WARS, ecc. , ecc., ecc.).

E’ proprio vero che noi programmatori mangiamo pane e informatica 🙂
Simone Moretti

Simone Moretti è l’autore della collana “Guida al Self-Publishing”.

La collana “Guida al Self-Publishing” è composta dai seguenti cinque volumi:
VOL.1: Creiamo un eBook con Kindle Direct Publishing
VOL.2: Creiamo un libro cartaceo con CreateSpace
VOL.3: Creiamo libri cartacei ed ebook con Lulu
VOL.4: Promuovere un libro con il social media marketing
VOL.5: Self-Publishing: Guida Completa

Creiamo un eBook con Kindle Direct Publishing

Creiamo un eBook con Kindle Direct Publishing

Creiamo un libro cartaceo con CreateSpace

Creiamo un libro cartaceo con CreateSpace

Creiamo libri cartacei ed ebook con Lulu

Creiamo libri cartacei ed ebook con Lulu

Promuovere un libro con il social media marketing

Promuovere un libro con il social media marketing

Self-Publishing: Guida Completa

Self-Publishing: Guida Completa

La Programmazione a Toppe: il nuovo paradigma dell’informatica

Sui libri di ingegneria del software si descrivono i vari paradigmi informatici che nel corso degli anni si sono diffusi in funzione delle tecnologie e degli usi in voga.

Tutti i testi citano il paradigma imperativo, quello funzionale e quello ad oggetti ma nessuno cita il paradigma a Toppe che è quello più in voga nel panorama informatico italiano attuale.

La Programmazione a Toppe è la risposta italiana all’Extreme Programming.

L’obiettivo della Programmazione a Toppe è fare il minimo sforzo indispensabile per soddisfare il cliente e raggiunge questo obiettivo in maniera molto proficua perché si fa un uso delle risorse umane economico e molto intercambiabile.

Questo tipo di programmazione non punta a creare software usabili, flessibili, scalabili, validi, innovativi e chi più ne ha più ne metta ma a scrivere quel minimo di codice indispensabile a farsi pagare la commessa senza che il cliente abbia nulla da obiettare.

La Programmazione a Toppe è particolarmente adatta per la Pubblica Amministrazione e per tutti quei contesti in cui non viene effettuata una valutazione del software realizzato.

Grazie alla Programmazione a Toppe sviluppatori incompetenti e impreparati possono essere impiegati con successo e i costi per le società che la praticano sono minimi in quanto oltre a reclutare risorse Junior spacciate per Senior  fa un uso massivo e convinto di software pirata.

Simone Moretti è l’autore della collana “Guida al Self-Publishing”.

La collana “Guida al Self-Publishing” è composta dai seguenti cinque volumi:
VOL.1: Creiamo un eBook con Kindle Direct Publishing
VOL.2: Creiamo un libro cartaceo con CreateSpace
VOL.3: Creiamo libri cartacei ed ebook con Lulu
VOL.4: Promuovere un libro con il social media marketing
VOL.5: Self-Publishing: Guida Completa

Creiamo un eBook con Kindle Direct Publishing

Creiamo un eBook con Kindle Direct Publishing

Creiamo un libro cartaceo con CreateSpace

Creiamo un libro cartaceo con CreateSpace

Creiamo libri cartacei ed ebook con Lulu

Creiamo libri cartacei ed ebook con Lulu

Promuovere un libro con il social media marketing

Promuovere un libro con il social media marketing

Self-Publishing: Guida Completa

Self-Publishing: Guida Completa