IT EN
profile

Gianmarco Pettinato

Ciao! Sono Gianmarco Pettinato, mi sono laureato in scienze informatiche e sono uno sviluppatore full-stack. Ho famigliarità con diversi linguaggi e framework, sia front-end che back-end. In particolare con C++ con Qt e TypeScript con Express, serverless, Angular, Vue.js e Svelte. Tra le mie competenze, oltre allo sviluppo software e alla manutenzione di sistemi linux, spicca la gestione di ambienti CI/CD, con pipeline automatiche e container come Docker. Sono interessato in particolar modo all'ambiente dei dispositivi IoT e del wearble tech. Nel tempo libero mi dedico alla gestione del mio home sever e alla costruzione e manutenzione di computer. Per maggiori informazioni non esitate a contattarmi.

Esperienze

ALTEN italia

/ALTEN.jpg

Alla fine del 2021, mentre stavo cercando di fare pubblicità per la mia attività, ho ricevuto diverse offerte di lavoro, tra cui Alten Italia.
Quindi, dal 3 gennaio 2022 sono impiegato in Alten Italia, nella sede di Bologna, come consulente informatico.
Attualmente di occupo di sviluppo software con laravel, vuejs e nodejs in ambienti AWS.

Date: 2022-01-03
Lang: Php, bash, yaml, json, Javascript, TypeScript, Python
Tech: Vue.js, Node.js, Laravel, Docker, AWS

La mia start-up Jatus.tech

/logo-jatus-tech.png

Nel corso del 2021 ho lavorato, per avviare una attività indipendente che si basa su una mia idea di app. Per far ciò, durante questo periodo ho dovuto ricoprire diversi ruoli e svolgere diverse mansioni:

  • Creare un’infrastruttura di lavoro, un server dove centralizzare le risorse, nello specifico:
    • Gestire il server GNU/Linux con la distribuzione prosumer Unraid…
    • Gestire i vari servizi in container Docker:
      • GitLab con il suo runner per le pipeline CI/CD:
        • repository di pacchetti npm
        • repository di immagini Docker
      • NginxProxyManager per la gestione dei servizi pubblici in reverse proxy
      • SonarQube per la verifica automatica della qualità del codice
    • Gestione di macchine virtuali per lo sviluppo di codice ma anche come staging area per testare le applicazioni in un ambiente production like
  • Progettare e sviluppare il software, focus di questa attività:
    • Progettare l’architettura del software
    • Progettare il database
    • Implementare l’architettura:
      • Back-end in TypeScript su piattaforma AWS-Lambda con Serveless framework
      • Front-end in app cross-platform in TypeScript con Nativescript
    • Implementare l’architettura di database in MongoDB
    • Creare un proof of concept dell’applicazione.
  • Progettare e sviluppare soluzioni di CI/CD legate al prodotto:
    • Creare pipeline automatiche in GitLab con riferimento al “versionamento” interno
    • Creare Docker-file con l’ambiente di compilazione da utilizzare con le pipeline automatiche.
Date: 2021-01-10; 2021-12-31
Lang: TypeScript, bash, Docker-file, yaml, json
Tech: Vue.js, Node.js, Nuxt, Docker, GitLab, Nativescript

Tirocinio in Athesys

/logo-athesys.png

Per la tesi di laurea, ho scelto di fare il tirocinio in Athesys. Il progetto prevedeva lo sviluppo di un middleware per mettere in comunicazione, in maniera sicura, due applicazioni tra reti NAT basato sui protocolli autorizzativi di OAuth2.0.
Dato il periodo, dove la seconda ondata della pandemia era alle porte, era necessario avere un sistema sicuro per la comuncazione tra dispositivi di controllo dell’ingresso e il “back-end”, come tablet con termoscanner e software per il riconoscimento della mascherina.

Date: 2020-9-21; 2020-11-21
Lang: TypeScript, HTML, CSS
Tech: Vue.js, Node.js, Nuxt, Docker

Sviluppatore in Alternative Studio

/alternative-studio.png

Progettazione e sviluppo di un Bot Telegram con comunicazione diretta al gestionale per la sezione cinofila della Protezione Civile

Date: 2016-08-13; 2017-02-13
Lang: PHP
Tech: Telegram, Composer, Docker

Assistente dell'ufficio ICT

/saxonhilllogo.jpg

Ho avuto l’opportunità di lavorare in questo ambiente grazie al progetto europeo Leonardo. Questo progetto di 4 settimane si occupava di fornire agli studenti tutto il necessario tra vitto e alloggio, prevedeva, inoltre, un corso di inglese e un luogo di lavoro dove fare principalmente pratica con la lingua. In questo contesto sono stato assegnato a Saxon Hill Academy dove ho svolto le seguenti mansioni:

  • Manutenzione dei computer della segreteria
  • Manutenzione dei computer degli studenti
  • Rendere operativa la “sensiorial room”
Date: 2012-06-05; 2012-07-05

Formazione

school logo

Laurea triennale in Scienze Informatiche (EQF 6)

Corso triennale in Informatica all'Università degli Studi di Padova

2016 - 2020

school logo

Diploma di maturità di Liceo Scientifico Tecnologico (EQF 4)

Corso di Liceo Scientifico Tecnologico all'istituto I.T.I.S. Severi di Padova, dove al posto del Latino i corsi puntavano di più su fisica, chimica e dei corsi introduttivi alla programmazione

2007 - 2013

Portfolio

Questo sito web

/webpage.png

Ho creato questo sito web per raccogliere e raccontare le mie esperienze. Come si può facilmente intuire non sono un web designer, ma ho comunque buone conoscenze nell’uso di HTML e CSS. Ho realizzato questa pagina web in TypeScript e Svelte, per la gestione dei contenuti ho ideato un semplice sistema che controlla i dati presenti in un paio di file JSON che definiscono i contenuti della pagina e delle sezioni.

Date: 2021-10-01; 2021-10-19
Lang: TypeScript, JSON-schema
Tech: Svelte, Node.js

Greenpass server validatore

Ho creato un server in TypeScript e express che leggendo i dati raw del Qr code del green pass può determinarne la sua validità, ho rilasciato il software in licenza AGPLv3 come previsto dalla librearia DCC utils del Ministero della Salute italiano.

Date: 2021-09-15; 2021-09-28
Lang: TypeScript
Tech: Node.js

Tastiera

/custom-keyboard.jpg

Io passo molto tempo al PC e spesso non ho una corretta postura. Sperando di mitigare il problema, iniziai a cercare delle tastiere ergonomiche come quelle con il design split.
La prima che trovai fu Ergodox-EZ, ma il prezzo di più 300 euro mi fece desistere. Successivamente trovai il subreddit r/ErgoMechBoards e vidi molti modelli diversi, quello che mi piacque di più fu lily58.
Quindi, ordinai i pezzi da diversi negozi online. Presi da Keyhive le parti base come il PCB e la guida per i tasti e da CandyKeys gli switch, per quanto riguarda i keycaps li presi da Amazon ordinando dal meno caro.
Quando tutti i pezzi arrivarono, con pazienza e dedizione saldai tutti i componenti e assemblai la tastiera. Per aggiungere un tocco personale, stampai con la mia stampante 3d la scocca che trovai su Thingverse.
Come miglioramenti futuri, mi piacerebbe aggiungere un sistema per angolare la tastiera e risolvere il problema di pronazione dei polsi.

Date: 2021-04-01; 2021-05-02
Lang: C
Tech: QMK

Stampante 3D per stampare le mie idee.

/3dprinter.jpg

Sono un appassionato di tecnologia e mi piace anche affrontare sfide tipiche dei maker. Per organizzare meglio gli spazi ho seguito gli innumerovili consigli della community sul costruire un mobile a partire da due mobili ikea “Lack” e di unirli con due pezzi stampati. Un’altra miglioria che ho effettuato è sul sistema di controllo della stampante stessa aggiungendo un raspberry pi 4 con webcam e munito del software octoprint che mi permette di controllarne lo stato da remoto.

Date: 2021-09-15; 2021-09-30
Lang: bash, python
Tech: raspberry

Unraid Server

Per gestire il mio software e i miei dati, ho costruito un server usando la distrubuzione Unraid. Il server è basato su una piattaforma ryzen con R9 3900X, due dischi da 2TB per i dati di lavoro e 4 dischi da 4TB, in configurazione RAID10, per lo spazio della mia famiglia.

Date: 2021-09-15; 2021-09-30
Lang: YAML
Tech: Docker, Unraid, GNU/Linux

Postazione di lavoro

/workstation.jpg

La mia postazione di lavoro parte dalla scrivania che è stata fatta su misura e può accomodare il mio computer fisso e il mio portatile, entrambe macchine che uso per lavorare e dedicarmi ai miei progetti. I monitor sono un 21:9 da 34" con risoluzione 3440x1440 e un 16:9 da 27" in verticale da 2560x1440.

Date: 2019-04-15

Progetto di Ingegneria del Software

Per il corso di ingegneria del software sono stato assegnato ad un gruppo di colleghi di corso universitario per sviluppare uno dei progetti proposti. Scegliemmo Etherless ovvero un FAAS usando la piattaforma AWS lambda per l’esecuzione delle funzioni. Gli utenti possono scrivere e pubblicare funzioni sul servizio, determinandone il costo di esecuzione. Quindi, altri utenti possono richiedere l’esecuzione, pagando il corrispettivo compenso, attraverso la rete Ethereum. Abbiamo rilasciato il software in licenza MIT Tenners Unipd

Date: 2019-11-17; 2020-05-18
Lang: TypeScript, Solidity, YAML
Tech: Node.js, AWS Lambda, Docker, GitHub Action, Ethereum

Latex-multicompiler

Ho sviluppato una GitHub Action per compilare i documenti Latex contenuti in un repository specifico. Questa GitHub Action crea come artefatti dei PDF partendo dal sorgente Latex.
Questo progetto mi ha permesso di esercitarmi nelle pratiche di CI/CD. Ho rilasciato il tutto con licenza MIT qui.

Date: 2019-11-27; 2019-12-15
Lang: bash
Tech: Docker, GitHub Action

Controllo ortografico, aspell GitHub Action

Ho sviluppato una GitHub Action per effettuare il controllo ortografico. Il software trasforma i PDF in file di testo e verifica che le parole siano scritte correttamente usando Aspell. Ho rilasciato il software su licenza LGPL-2.1 qui

Date: 2019-12-18; 2020-05-08
Lang: bash
Tech: Docker, GitHub Action

Progetto per il corso di programmazione ad oggetti

/QContainer.png

Per il corso di programmazione ad oggetti ho fatto un container di dispositivi iot con la possibilità di configurare i dispositivi. Per maggiori infomrmazioni ho scritto una relazione al riguardo e rilasciato il software sotto licenza LGPL-3.0

Date: 2019-04-14; 2019-06-10
Lang: C++
Tech: Qt

Tecnologie Web

/techweb.png

Per il corso di tecnologie web io e i miei colleghi abbiamo sviluppato un sito web vetrina per artisti con un sistema per la gestione dei contenuti.

Date: 2018-12-03; 2019-02-13
Lang: PHP, SQL
Tech: Apache, MariaDB

ANTRL parser Swl

Per il corso di Automi e linguaggi formali, il mio collega ed io sviluppammo un traduttore da un linguaggio inventato, SWL, a uno più comune C++. Per questo compito i professori richiesero l’uso di un framework chiamato “ANTRL” che è in grado di riconoscere le epressioni regolari che gli vengono proposte e di applicare delle logiche al riguardo. Per maggiori info https://swl.debug.ovh/

Date: 2018-05-16; 2018-05-22
Lang: C++, SWL, ANTLR grammar
Tech: ANTLR

Contatti

profile