Informazioni

Questo CV è pubblicamente accessibile, pertanto alcune informazioni sensibili sono state rimosse. Per maggiori informazioni, contattami via email. Grazie.

Competenze Tecniche

Programmazione

Utilizzo dei linguaggi di programmazione C#/VB (.NET), Java, Javascript, Python, C. Conoscenza del linguaggio SQL e familiarità con i principi cardine dei database relazionali e document-oriented.

Conoscenze basilari di HTML/CSS (Responsive web, SASS) e buona conoscenza di Javascript (ES6 e più recenti, Typescript), utilizzato sia in front-end che back-end (con NodeJS), e delle relative toolchain.

Buona conoscenza di VueJS come framework per SPA. Buone conoscenze di framework come NestJS e micro-framework come Express.js per lo sviluppo lato back-end lato JS.

Conoscenze basilari di ASP.NET Core (ed EntityFramework Core) per lo sviluppo backend nel mondo .NET.

Conoscenze basilari di Spring e Spring Boot e relativi componenti, nonchè dei principi fondamentali di JavaEE (Servlet, JSP, JSTL e EL; Hibernate).

Buona conoscenza delle best-practices per la progettazione e realizzazione di API RESTful.

Buona conoscenza di WPF/XAML e Windows Forms per lo sviluppo di Rich Desktop Applications su .NET e dell'applicazione dell'architettura Model-View-ViewModel per la realizzazione delle stesse.

Conoscenza del linguaggio di modellizzazione UML, dei paradigmi dell’ingegneria del software (processo di sviluppo, design principles, design patterns, …).

Operations / Infrastructure
Buona conoscenza della shell Bash per lo scripting UNIX e utilizzo di Git per il version control, e di piattaforme come GitLab-CI e TravisCI per continuous integration e testing, di Docker e Vagrant come development e testing environments. Familiarità con Proxmox VE (container LXC, macchine virtuali KVM) e libvirt (KVM) come ambiente di virtualizzazione, competenze basilari di setup e amministrazione di server Linux (nello specifico debian-based) e della loro automatizzazione tramite Ansible.
Altre Tecnologie
Conoscenza basilare di LaTeX e di vari lightweight markup language (Markdown, reStructuredText, …) per la produzione di documenti.
OS / Software
Profonda familiarità con Microsoft Windows, Linux e macOS.

Lingue Straniere

Inglese
Ottima conoscenza della lingua scritta e dell’inglese tecnico. Buona conoscenza della lingua parlata.