1 - Dati anagrafici

Nome: Fabrizio Caldarelli
Data di nascita: 06/06/1980
Email: fabriziocaldarelli@negusweb.it
Linkedin: https://www.linkedin.com/pub/fabrizio-caldarelli/53/964/1ab

2 - Conoscenze informatiche

Per quanto riguarda la programmazione, ho conoscenze ed esperienze di lunga durata su progetti eterogenei nei 3 ambiti principali: Web (php, Postgres, Oracle, MySQL), Desktop (Java, C# .Net) e Mobile (Android, iOS, Windows Phone). Completa autonomia nell'analisi, progettazione e sviluppo di progetti. Essendo oggi imprescindibile il legame tra un'applicazione e la sua centralizzazione dei dati, riesco a realizzare applicazioni complete anche con l'interazione lato server.

Per quanto riguarda l'aspetto sistemistico ho compenteze di progettazione, implementazione, gestione e manutenzione di sistemi operativi, in particolare macchine linux dedicate a funzioni di server.

3 - Programmazione Mobile

Sviluppo nativo su iOS : esperienza dal 2010 ( 4 anni )
Ambiente di sviluppo: Xcode;
Linguaggio di programmazione: Objective C;
Ottima conoscenza dell'SDK a partire dalla versione 3 fino a quella attuale, e dei pattern di programmazione iOS. Esperienza specifica nella realizzazione di app che interagiscono con

  • webservices remoti;
  • database locali (sqlite) con customizzazione delle funzioni fornite dal db;
  • geolocalizzazione dell'utente;
  • interazione con lo streaming video della camera a bordo del device, per la sovraimpressione e animazione di immagini (realtà aumentata);
  • utilizzodibussolaegiroscopioperesattaposizionedell'utenterispettoadun oggetto;
  • utilizzo di SDK (Qualcomm) specifici per il riconoscimento (mesh) di oggetti, 2D e 3D;
  • ricompilazione di FFMPEG per la realizzazione di player video in grado di leggere file audio/video non compatibili con il lettore nativo;
  • integrazione con social network (facebook, twitter, ecc..);
  • funzioni specifiche richieste da webradio (podcast, palinsesti, ecc..);
  • integrazione mappe;
  • realizzazione di sistemi di chat tra utenti;
  • integrazione con sistemi di geodecodifica di Google;

Realizzazione di app specifiche per dispositivo (iPhone, iPad) oppure Universal.


Sviluppo nativo su Android : esperienza dal 2010 ( 4 anni )
Ambiente di sviluppo: Eclipse;
Linguaggio di programmazione: Java, C++ (jni);
Ottima conoscenza dell'SDK ed NDK per la ricompilazione di codice sorgente non direttamente disponibile nell'SDK, come ad esempio la personalizzazione di funzioni per il database sqlite..
Esperienza specifica nella realizzazione di app che interagiscono con

  • webservices remoti;
  • attività multimediali audio, video;
  • implementazioni di collegamenti con codice C++ attraverso JNI;
  • database locali (sqlite) con customizzazione delle funzioni fornite dal db, tramite ricompilazione tramite NDK;
  • geolocalizzazione dell'utente;
  • integrazione con social network (facebook, twitter, ecc..);
  • funzioni specifiche richieste da webradio (podcast, palinsesti, ecc..);
  • integrazione mappe;
  • realizzazione di sistemi di chat tra utenti;
  • integrazione con sistemi di geodecodifica di Google;


Sviluppo nativo su Windows Phone: esperienza dal 2012 ( 2 anni )
Ambiente di sviluppo: Visual Studio;
Linguaggio di programmzione: C#;
Esperienza specifica nella realizzazione di app che interagiscono con

  • webservicesremoti;
  • attività multimediali audio, video;
  • database locali (sqlite);
  • realizzazione di controlli custom;
  • utilizzo di framework esistenti (Caliburn);
  • integrazione di servizi remoti specifici (Apache Thrift);


Sviluppo nativo su Symbian (obsoleto): esperienza dal 2008 ( 5 anni )
Ambiente di sviluppo: Carbide;
Linguaggio di programmazione: C++;
Sistema operativo utilizzato nei dispositivi cellulari Nokia ( e da tutti quelli facenti parte del consorzio Symbian ) sul quale ho sviluppo in C++ applicazioni console e gui e successivamente in Qt. Realizzazione di programmi B2C con particolare attenzione alle attività multimediali, che approcciano con la fotocamera, visualizzazione e realizzazione video in tempo reale.
Il sistema purtroppo è obsoleto e abbandonato dalla casa produttrice.


Sviluppo web app mobile: esperienza dal 2010 ( 4 anni )
Ambiente di sviluppo: Aptana;
Linguaggio di programmzione: Javascript, jQuery, jQuery Mobile; Esperienza specifica nella realizzazione di app che interagiscono con

  • webservicesremoti;
  • realizzazione interfacce responsive html 5;
  • sistemi di navigazione lista – dettaglio;
  • effetti animazione nelle pagine;


4 - Programmazione Web


Sviluppo applicazioni web con PHP: esperienza dal 2006 ( 8 anni )
Ambiente di sviluppo: Aptana, PsPad, Notepad++; Linguaggio di programmzione: PHP;
Database utilizzati: Postgres, Oracle, MySQL; Framework utilizzati: Yii, Symfony.
Capacità approfondite e consolidate nella:

  • Completa autonomia nell'analisi, progettazione e sviluppo di applicazioni web;
  • Realizzazione di applicazioni web a carattere gestionale aziendale, di diversa natura: contabile, edile, finanziario, giornalistico, promozionale;
  • Realizzazione di CMS e Backend per la gestione di dati centralizzati in collegamento con sorgenti differenti, quali app mobile per esempio;
  • Realizzazione di API per consentire il collegamento remoto;
  • Conoscenza approfondita del framework Yii e capacità di estensione e ampliamento;
  • Analisi, progettazione e realizzazione della base dati degli applicativi sulle seguenti famiglie di prodotti: Postgres, Oracle, MySQL.
  • Capacità nella gestione del carico computazionale tra applicazione e base dati;
  • Studio delle pratiche Extreme Programmig e TDD;
  • Realizzazione di esportazioni in PDF ( fpdf, tcpdf );
  • Realizzazione di esportazioni in Excel ( phpexcel );


Sviluppo applicazioni web con ASP.NET: esperienza dal 2012 ( 2 anni )
Ambiente di sviluppo: Visual Studio; Linguaggio di programmzione: C#;
Capacità nell'analisi, progettazione e sviluppo di applicazioni web in ambiente .Net.


Sviluppo frontend web: esperienza dal 2000 ( 14 anni )
Ambiente di sviluppo: Aptana, PsPad, Notepad++; Linguaggio di programmzione: HTML, HTML 5, Javascript; Capacità approfondite e consolidate nella:

  • Realizzazionediimpaginazionigrafichecomplete,siainHTMLcheHTML 5;
  • Realizzazione di interfacce grafiche responsive;
  • Ottima conoscenza di Javascript e jQuery e di librerie comunemente utilizzate nella quotidianità del web (grafici, ec...).


Sviluppo web per smart tv (samsung): esperienza dal 2012 ( 2 anni )
Ambiente di sviluppo: specifico del device; Linguaggio di programmzione: HTML, Javascript;
Capacità approfondite e consolidate nella realizzazione di applicazioni per smart tv samsung con interazione con servizi remoti e interfacciamento con azioni utente.
Gestione delle risorse da caricare/visualizzare in base alle azioni dell'utente. Utilizzo delle librerie specifiche Samsung.


5 - Programmazione Desktop


Sviluppo multipiattaforma con Java: esperienza dal 2004 ( 10 anni )
Ambiente di sviluppo: Eclipse;
Librerie utilizzate: Swing;
Capacità approfondite e consolidate nella:

  • Completa autonomia nell'analisi, progettazione e sviluppo di applicazioni desktop;
  • Realizzazione di applicazioni a carattere gestionale aziendale;
  • Applicazione dei più comuni pattern di programmazione ad oggetti;


Sviluppo con C# .Net: esperienza dal 2008 ( 6 anni )
Ambiente di sviluppo: Visual Studio; Capacità approfondite e consolidate nella:

  • Completa autonomia nell'analisi, progettazione e sviluppo di applicazioni desktop a carattere gestionale;
  • Sviluppo di wrapper per il porting in ambiente Managed DLL applicativi in DirectX da ambiente Unmanaged;
  • Sviluppo di applicazioni orientate alla multimedialità, nello specifico per gestire trasmissioni e playback musicali;
  • Utilizzo delle risorse audio/video;
  • Interfacciamento con servizi remoti;
  • Realizzazione di report con Crystal Report;


Sviluppo con C++: esperienza dal 2008 ( 6 anni )
Ambiente di sviluppo: Visual Studio; Capacità approfondite e consolidate nella:

  • Realizzazione di applicazioni multimediali (win32 ed mfc) sviluppate direttamente con DirectX (DirectShow in ambito musicale) per avere il pieno controllo dell'hardware a disposizione in ambienti di mixaggio;
  • Interfacciamento con oggetti COM, sviluppo ed integrazione delle applicazioni con DLL. Ho sviluppato una regia per emittenti radiofoniche con altrettanto player ad hoc. Inoltre ho sviluppato un registratore di sorgente audio che salva direttamente in formato MP3 (tramite lame):
  • Applicazioni di digital signage su sistemi linux per la visualizzazione di campagne pubblicitarie su totem attrezzati con EeeBox Asus, con annessa realizzazione del backend lato server;
  • Applicazioni di campagne pubblicitarie tramite bluetooth, con annessa realizzazione del backend lato server;


Sviluppo con Qt C++: esperienza dal 2012 ( 2 anni )
Ambiente di sviluppo: Qt Creator; Capacità approfondite e consolidate nella:

  • Realizzazione di applicazioni su device Symbian Qt (Anna, Belle);


Sviluppo con Visual Basic: esperienza dal 2002 ( 8 anni )
Ambiente di sviluppo: Visual Studio; Capacità approfondite e consolidate nella:

  • Gestione degli archivi, prima con DAO e poi con ADO (su db Access, Paradox, MySQL e SQL Server);
  • Comunicazione con dispositivi esterni (apparati satellitari, cellulari GSM, modem GSM) tramite porta seriale RS232 e servizi server/client tramite rete ethernet.


6 - Sistemi operativi server


Linux: esperienza dal 2002 ( 12 anni )
Distribuzioni utilizzate: Centos, Debian; Capacità approfondite e consolidate nella:

  • Installazione del sistema operativo su macchine server dedicate e virtuali, anche in condizioni particolari di struttura hardware;
  • Gestione e amministrazione del sistema operativo;
  • Installazione, configurazione e manutenzione di software server, come Apache, Postfix, Qmail, Proftpd, MySQL, Postgres, Exim;
  • Risoluzione di problematiche sistemistiche di qualsiasi natura;
  • Implementazione di paravirtualizzazione e virtualizzazione;
  • Ricompilazione del kernel e software;


7 - Hobby e non solo


Arduino: esperienza dal 2012 ( 2 anni )
Analisi, progettazione e sviluppo di applicazioni basate su Arduino e sugli shield disponibili in commercio.
Realizzazione di sistemi di telecontrollo (tramite relè e sonde), sistemi di misurazione di corrente assorbita da impianti.