Esperienza

Progetti, idee, contributi & altro (dal più recente)

Nome Anno Status Note
damienpirsy.com 2019 Attivo Declinazione "internazionale" del blog - realizzato in Jekyll e hostato su Netlify - In rifacimento a brevissimo :)
[fun] Xmas Arduino 2018 Attivo Mini-progetto in Arduino Uno per la decorazione del Presepe: un focolare e alternanza giorno/notte in parallelo senza multi-threading
[temp] Work Alert 2018 Attivo Scraper in cron per notifiche giornaliere di offerte di lavoro su alcuni portali. Python 3.6 con Scrapy + Mailgun per l'invio
[temp] Calpodismo 2018 Attivo (in sviluppo) Scraper giornaliero di gare di podismo. Python 3.6, Scrapy, Rails 5 (versione API) per il backend e React per frontend
Daniela & Matteo 2018 Attivo Wedding site per il mio matrimonio ❤️. Frontend html, backend in Lumen + MySql
Giochi di parole stupidi 2017 Attivo Pagina Facebook in cui posto giochi di parole trovati in giro
Naturiosando 2016 Chiuso Blog dedicato a curiosità su animali e natura, chiuso dopo un annetto per mancanza di tempo per aggiornarlo. Realizzato con CMS custom basato su Laravel 5
Matteo Vignoli 2015 Attivo Sito personale, un po' blog, un po' CV, negli anni è cambiato spesso. Attualmente è un blog in Ghost
Alfarun 2015 Attivo E-commerce per il negozio Athletic. Primo lavoro da "freelance", realizzato in Laravel 5
Librazaar 2013/2014 Sospeso Community per scambio di libri (anche scolastici), mai andato online. Realizzato in Laravel 4
Varianti del Poker 2010 Chiuso News (e forum collegato) per gli appassionati di varianti del poker. Sito prima in PHP puro, poi Codeigniter. Forum in phpBB. Chuso dopo un paio di anni.
Pet Society Heaven 2009 Chiuso Catalogo items del gioco Facebook Pet Society.E' iniziato tutto da qui! Sviluppato in (bruttissimo) php

Linguaggi, framework e conoscenze varie:

Avendo cominciato nel mondo web (e senza un'educazione formale) il mio linguaggio principale è il php. Fortunamente ho iniziato abbastanza presto ad adottare dei framework (Codeigniter prima, poi l'amore per Laravel ed ora Symfony per esigenze aziendali) ricevendo cosi, fin da subito, un'impostazione ed un'organizzazione che spesso, purtroppo, manca a chi proviene da questo linguaggio (soprattutto nell'interazione con i database!).

Negli ultimi anni questa mia "specializzazione" ha iniziato ad essermi stretta e ho rivolto lo sguardo ad altri lidi:

  • ho apprezzato tanto la rapidità e la potenza con cui si può fare un sito in Rails;
  • continuo ad apprezzare la semplicità ed immediatezza di utilizzo di Python, che uso tuttora per automatizzare e semplificare alcuni task "noiosi" di tutti i giorni;
  • sono incuriosito dai linguaggi funzionali come Elixir, un giorno o l'altro proverò a fare qualcosa (me lo prometto);
  • sono rimasto sconvolto dalla crescita esponenziale di Javascript: un momento sei lì che sviluppi un'interfaccia all'avanguardia con Angular 1 (eri un pazzo solo a pensare di togliere jQuery), ti distrai neanche un paio d'anni dedicandoti al backend e pam! Angular è alla versione 6, React è sempre più gigante e lo stesso JS è quasi un altro linguaggio - per non parlare della miriade di framework e strumenti che sono comparsi dal nulla (babel, typescript, webpack, electron...😳)
  • vorrei colmare qualche lacuna teorica, ad esempio negli algoritmi (scarsissimi tempi permettendo)
  • Unit Testing e TDD!
  • Non sto qui ad elencare tutti i tutorial di cose belle e nuove fatti ché sennò non la finiamo più (Go, Electron, Rust, MongoDB...)

Insomma, quando il panorama cambia completamente bisogna tornare ad esplorarlo di nuovo per vedere cosa offre, ed oggi c'è così tanto da esplorare che è difficile anche capire dove guardare.
Se devo però trarre degli insegnamenti dall'esperienza lavorativa maturata finora posso dire che:

  1. non importa in quale linguaggio sei specializzato, se c'è bisogno ne usi un altro
  2. non importa se non ti ricordi una funzione o l'ordine degli argomenti, né se c'è una funziona nativa per quello che vuoi fare: StackOverflow + Google + le query di ricerca giuste e risolvi ogni problema 😇
  3. usare la command line è fondamentale (e meraviglioso)
  4. la progettazione iniziale è fondamentale - anche se le Change Request sono inevitabili e inevitabilmente costringeranno a riprogettare tante cose
  5. tutti i progetti sono da terminare per ieri, l'ideale sarebbe riscriverli tutti da capo ma il bug dev'essere risolto domani, le API prima o poi non risponderanno o lo faranno male 😩
  6. negli openspace c'è troppo casino
  7. una risata con i colleghi vale più di qualsiasi codice