Curriculum

Jacopo Vichi

Sistemista Linux & Sviluppatore Full-stack Senior

+39 349 86 89 581jacopo.vichi@gmail.comMontecatini Terme - Pistoia - Italy
ResumeLogo

Appassionato di tecnologia, con riguardo particolare alla risoluzione delle problematiche: le sfide sono la mia passione e la mia piu' grande soddisfazione!

Sono uno sviluppatore Full-stack Senior ed un grande estimatore del mondo UNIX con piu' di 10 anni di esperienza, capace di contribuire al miglioramento nei campi del design di architetture, installazione, test e manutenzione del software.

Sono particolarmente esperto nell'utilizzo di NodeJS, ReactJS, VanillaJS, modelli di architetture organizzate in microservizi, bash scripting.

Ho esperienze private nell'ambito dell'Internet of Things e nello sviluppo di device personalizzati.

Esperienza di base nell'implementazione di applicativi cross-platform utilizzando il framework Flutter.

Esperienze lavorative

Software engineer

Elemental Machines | 2023-01-09 - Oggi

Faccio parte del team Italiano responsabile della realizzazione dell'infrastuttura di microservizi necessaria all'acquisizione e al processing di messaggi provenienti da differenti dispositivi IoT.

Attivitá principali

  • Pacchetto software cloud Atlassian: JIRA, Confluence
  • Versionamento del software BitBucket (and GIT)
  • Pipeline CI/CD tramite CircleCI and SonarCloud
  • Unit, integration and E2E testing utilizzando Jest
  • Software organizzato e ottimizzato secondo gli standard del Test Driven Development
  • Sviluppo software tramite NodeJS e TypeScript
  • Esperienza nell'utilizzo di servizi AWS
  • Mocking di librerie utilizzando Jest

Sistemista

Informatica Valdinievole srl | 2020-01-01 - 2022-12-31

Sono entrato a far parte del team dei sistemisti, provvedendo ad analizzare e risolvere le principali problematiche in ambito di virtualizzazione, sistemi operativi e architettura di base.

Attivitá principali

  • Esperienza approfondita nell'utilizzo di CentOS/RHEL
  • Esperienza approfondita nell'utilizzo di Debian
  • Esperienza approfondita nell'utilizzo di Archlinux
  • Manutenzione ordinaria e straordinaria
  • Realizzazione di utilities di manutenzione e backup utilizzando Bash scripting.
  • Esperienza in installazione e configurazione di Grafana e Prometheus.
  • Esperienza nell'utilizzo di Docker, ambienti organizzati a container e i loro lifecycles.
  • Realizzazione di dashboard in GRAFANA basate su metriche raccolte tramite Promehteus.
  • Implementazione del sistema di allarmi ufficiale dell'azienda, utilizzato per prevenzione e risoluzione dei principali malfunzionamenti, realizzato utilizzando Prometheus, Grafana e TWILIO.

Analista e Sviluppatore Full-stack

Informatica Valdinievole srl | 2012-01-02 - 2022-12-31

In questa azienda sono diventato velocemente uno sviluppatore leader full-stack, gestendo le architetture del software e sviluppando i principali prodotti dedicati all'ambito Web. Ho realizzato i vari frontend dell'ERP aziendale, portandolo a funzionare sul canale Web (prima di allora l'ERP offriva esclusivamente la funzionalita' da terminale testuale). Ho disegnato e realizzato l'intera infrastruttura di microservizi necessari al funzionamento dell'ERP attraverso il protocollo HTTP, realizzandone un interfaccia webservice REST API. I miei linguaggi di programmazione principali sono NodeJS, VanillaJS, ReactJS, bash scripting.

Attivitá principali

  • Realizzato interamente un motore di MessageQueue e Caching utilizzando REDIS per permettere ai processi di comunicare fra loro, soppiantando eventuale IPC o sockets TCP. Le librerie supportano NodeJS e Python3.
  • Conoscenza approfondita sui sockets TCP.
  • Conoscenza approfondita sulle principali tecnologie di comunicazione HTTP come i WebSockets e AJAX.
  • Architetture a microservizi utilizzando NodeJS, Fastify e PM2.
  • Implementazione di endpoint WebServices che rispettino gli standard OpenAPI
  • Elevata esperienza in utilizzo e configurazione di HAProxy
  • Elevata esperienza utilizzando i webserver Express e Fastify e il loro ecosistema di moduli aggiuntivi.
  • Utilities di CI/CD coinvolte nella revisione dei software aziendali, utilizzando Subversion, GIT e Bash scripting.
  • Software di test automatizzati utilizzando NodeJS, PhantomJS, Nightwatch, CasperJS, Jest, JMeter.
  • ERP app per dispositivi Mobile, sviluppata utilizzando CordovaJS e ReactJS
  • Sviluppo del frontend per dispositivi Mobile dell'ERP aziendale utilizzando NodeJS, Webpack, ReactJS, Redux (per la gestione dello stato applicativo).
  • Realizzazione dei motori di Sviluppo e Runtime del frontend Desktop dell'ERP utilizzando uno stack composto da PHP, PostgreSQL, NodeJS, VanillaJS (e un tocco di Python3)
  • Interfacce per transazioni di pagamento online utilizzando differenti endpoint bancari come PayPal, Sella, Unicredit, BNLPositivity e NEXI.
  • Realizzazione di interfacce web generiche utilizzando Codeigniter, PostgreSQL, jQuery, HTML5 e CSS3.

Consulente Software & Quality Assurance - tester del reparto Global

Gilbarco Veeder Root through Tuxel srl - Florence | 2009-01-01 - 2011-12-31

Ho lavorato nel team ufficiale di software & quality assurance in Gilbarco Veeder Root. In quest ruolo, ho implementato ed eseguito piani di test secondo i modelli forniti dall'azienda, dediti a testare il software e l'hardware prodotto da Gilbarco. Dopo un anno nel team, sono stato promosso a tester ufficiale del team che si occupava degli sviluppi di piattaforma in ambito globale, realizzando utility di test automatiche per la principale piattaforma di pagamento di Gilbarco. Ho acquisito competenze riguardanti le metodologie di SCRUM.

Attivitá principali

  • Metodologie SCRUM
  • Scrittura ed esecuzione di piani di test su hardware e frontends.
  • Tool di test automatici utilizzando il linguaggio LUA per stressare a fondo tramite un protocollo proprietario esadecimale una complessa macchina a stati.

Tecnico IT & Sviluppatore Web

Tuxel srl - Florence | 2008-01-01 - 2011-12-31

Durante questa esperienza mi sono concentrato nel potenziare le mie competenze nell'ambito Linux e dello sviluppo Web, fino ad allora appresi ed utilizzati privatamente. Ho realizzato differenti portali e applicativi Web, usando lo stack LAMP. Mi sono occupato anche della configurazione di server basati su Linux.

Attivitá principali

  • Tecnico hardware & software.
  • Configurazione e manutenzione del webServer APACHE.
  • Realizzazione portali Web utilizzando vari CMS (come Wordpress, Joomla, Drupal)
  • Realizzazione interfacce Web utilizzando il solo PHP o framework basati su di esso (come CodeIgniter), adottando il modello MVC e database MySQL.
  • Realizzazioni di CMS ad-hoc
  • Realizzazione interfacce Web utilizzando jQuery.

Lingue conosciute

Madrelingua

Italiano

Altre lingue conosciute

ComprensioneParlatoScritto
IngleseB1B1B1

Competenze

Generali

Linux
Architecture
Mobile/Web App Development
Networking
Dev Ops
Backend
Frontend
UX
GraphQL
REST API

Linguaggi

NodeJS
VanillaJS
PHP
Python3
Bash scripting
TypeScript

Frameworks

ReactJSDart/FlutterNextJSReduxMaterial UIWebpackCordovaJSFastifyElectronGatsbyApolloTailwindCSS

Framework per testing

JestCasperJSNightwatchJMeterSwaggerPostMan

Softwares

DockerGITSubversionGrafana

Databases

PostgreSQLMySQLRedisPrometheus

Percorso di studi

Diploma di maturita' scientifica

Liceo Scientifico G. Marconi, Grosseto, Italia

2000 - 2005

Non completata

Ingegneria Informatica, Universita' degli Studi di Firenze, Italia

2005 - 2007