Senior system engineer and developer Firenze, FI, Italia

Può essere disponibile

(Aggiornato% updatedDate%)

Senior system engineer and developer

Firenze, FI, Italia

Nativo Italian, English

  • 20+ networking, security
  • 20+ Linux
  • 10+ Ruby, Python, SQL

Competenze (46)

Ruby on Rails

SECURITY

dovecot

LAN

Apache

MySQL

Squid

OpenWRT

PostgreSQL

VPN

samba

postfix

Ubuntu

Linux

SSH

Unix

DNS

FIREWALL

Python

NETWORKING

SCRIPTING

RED HAT

VMware

MAIL SERVER

Ruby

ROUTER

Git

CRYPTOGRAPHY

QoS

PHP

KVM

Xen

HTML

Windows

PL/SQL

DESIGN PATTERNS

Oracle

Java

JavaScript

JQuery

UML

OBJECT PASCAL

C#

DELPHI

Visual Basic

C

Riassunto

Lavoro come libero professionista dal 2000, utilizzando da sempre strumenti open source come scelta preferenziale: ho ricoperto ruoli di consulente, amministratore, sistemista, programmatore, insegnante.

Esperienze professionali

Sistemista e network engineer
Libero professionista

1999-12 - Presente

Progettazione, gestione e protezione di reti LAN/WAN. Installazione, personalizzazione e gestione di server Linux con funzioni di router, firewall, mail server, web server, file server, backup server. Dal 2001 utilizzo Linux come sistema principale e dal 2004 ne ho ulteriormente approfondito la conoscenza passando a Gentoo Linux: sono in grado di installare un sistema da zero senza alcun installer, applicare patch, configurare e compilare il kernel, ho un’ottima conoscenza di RAID, LVM e molti altri componenti interni di Linux. Grazie alle mie conoscenze sistemistiche, di networking e programmazione ho sviluppato un progetto che ha ottenuto un discreto successo su GitHub, Fault Tolerant Router: un servizio che gira in background su un router Linux e ne controlla lo stato delle linee (uplink/provider), modificando opportunamente il routing e bilanciando il traffico della LAN tra i soli uplink funzionanti, vedi https://github.com/drsound/fault_tolerant_router. Ho usato OpenWRT per creare router Linux embedded con funzioni specifiche. Ho sviluppato portali di autenticazione Wi-Fi (captive portals) da zero, creando una applicazione web che interagisce con il servizio DNS, il routing ed il firewall di Linux. Ho molta esperienza nell’integrare servizi diversi ed usare linguaggi di scripting per farli comunicare. Dal 2013, progettazione e configurazione di infrastrutture virtuali con VMware ESXi, XenServer, Proxmox (KVM) e FreeNAS.

Per i miei clienti ricopro il ruolo di consulente esterno, svolgendo attività per le quali non hanno risorse o competenze interne: amministrazione di sistema, networking, programmazione, sicurezza informatica.

Programmatore
Libero professionista

1999-12 - Presente

Sviluppo di applicazioni web e desktop. Scripting lato server finalizzato all’automazione di procedure eccezionali (es. la segnalazione di malfunzionamenti), ricorrenti (es. backup dati), per la configurazione dinamica dei servizi e degli apparati di rete. Sviluppo di applicativi per “web scraping” (automatizzazione di web browser per l'acquisizione o l'inserimento massivo di dati su siti web).

Alcune note sui principali linguaggi di programmazione utilizzati:

Ruby: Utilizzato dal 2009 per ogni tipo di progetto: dalle applicazioni web alla programmazione ed automazione del sistema operativo, facendo uso delle mie competenze in ambito sistemistico e di networking (vedi Fault Tolerant Router nella precedente sezione Sistemista e network engineer). Per Gemma S.p.A., concessionario per la riscossione dei tributi del Comune di Roma, ho scritto una applicazione web ed una libreria per fare web scraping da tre siti istituzionali (catasto, conservatoria, Agenzia delle Entrate), ricomporre i dati e presentarli in tempo reale, usando un’interfaccia web AJAX. Per Siderurgica Fiorentina S.p.A. ho scritto una applicazione di web scraping per battere sul tempo la concorrenza nell’acquisto di materie prime sulle aste giornaliere indette da un loro importante fornitore: l’applicazione effettua gli acquisti in modo autonomo prendendo decisioni in base a regole complesse. Ho anche usato Ruby per scrivere molti strumenti per l’automazione del sistema operativo: backup, configurazione dei servizi, analisi dei log, etc.

Python: Ho ideato e realizzato un framework per la ricerca approssimata di stringhe (basata sui q-gram) su database Oracle per Gemma S.p.A.: scritto prevalentemente in Python, con alcune parti in PL/SQL per il back-end e C# per il front-end. Per la stessa azienda ho utilizzato Python per analisi, data mining e data cleansing di database Oracle. Ho utilizzato anche Python per scripting di sistema prima di iniziare con Ruby.

PHP: Usato per applicazioni web prima di iniziare ad utilizzare Ruby on Rails. Per Chimet S.p.A. ho scritto una applicazione per la gestione dei depositi in oro dei clienti ed il calcolo dei relativi interessi.

JavaScript: Usato per migliorare le interfacce delle applicazioni web (jQuery, Prototype, etc.).

Delphi: Usato per una applicazione desktop per la generazione di preventivi per la vendita di macchine a controllo numerico.

Java e C: Usati per progetti universitari e per i corsi tenuti come docente.

Docente
Libero professionista

1999-12 - Presente

Nel 2019, per Eurobic Toscana Sud, docenza di SQL e basi di dati per un corso di programmazione Java e Python (38 ore di lezione).

Nel 2019, per Confartigianato Firenze, docenza di sicurezza informatica per un corso di progettazione, implementazione e manutenzione di database (43 ore di lezione).

Nel 2019, per La Fabbrica delle Idee, docenza di Linux e networking per i corsi “Net Specialist” (64 ore di lezione) e “Security Manager” (72 ore di lezione).

Nel 2019, per Confindustria Arezzo, docenza di Linux e networking per il personale tecnico del termovalorizzatore di Arezzo (20 ore di lezione).

Nel 2018, per La Fabbrica delle Idee, docenza di Linux e networking per il corso “Meccatronix – tecnico per reti informatiche” (75 ore di lezione).

Nel 2018, per Confindustria Toscana Sud, docenza per il corso “Linuxer - qualifica professionale per sistemista informatico in ambienti Linux” (68 ore di lezione).

Nel 2010, per Confindustria Arezzo, docenza per il corso “Linuxer - Tecnico qualificato nella configurazione ed installazione di sistemi Linux” (55 ore di lezione).

Dal 2007, per Associazione Toscana Delle Piccole e Medie Industrie, docenze per il progetto “Informatica avanzata per l'ufficio”.

Nel 2006, per Centro Studi Pluriversum, docenze nell'ambito del progetto “TIRACI – tirocini al Centro Impiego”.

Nel 2005, per Scuola Superiore Tecnologie Industriali, docenza del modulo UML “Modellazione e rappresentazione grafica dei sistemi” nell'ambito del progetto “Programmatore Object Oriented e Tecnologie Java”.

Dal 2003, corsi di formazione organizzati da Eurobic Toscana Sud S.p.A.: programmazione Java web oriented (224 ore di lezione e membro della commissione di esame), sistemista Linux (140 ore di lezione e membro della commissione di esame), programmazione C (48 ore di lezione).

Dal 2001, corsi di informatica di base (Microsoft Word, Microsoft Excel, utilizzo di internet, etc.) tenuti presso Pramac S.p.A., Effeti Cucine, Associazione Commercianti Poggibonsi, Comune di Monteroni d'Arbia.

Esperienze formative

Laurea in informatica
Università degli Studi di Firenze

2024-03 - 2024-03

Contatta il consulente

/