I've been extremely disappointed of University: with the exception of Mathematics and Physics, the notions which were being taught were quite outdated, and most of the time unreliable. Witnessing the thesis defense of a certain (now appointed) engineer, and fully aware of the amount and quality of his knowledge, I decided to follow my own independent formative path.
I've participated to various open source projects, which allowed me not only to gain proficency with different programming languages, but also made me try out first hand project maintained in ways which allow often thousands of developers to contribute and develop, without interfering with eachother.
In the meanwhile, I've partaken in some non-documentable jobs, which still made me gain a decent amount of expertise in some fields.

Such expertise revealed to be foundamental for my current job, where I've been able to join rigth away a project already in development for years (and for a big client such as Magneti Marelli, working on a product for Alfa Romeo) without any internal formation, if not for project-specific details. Approximately, I've contributed 5 bug fixes or feature implementations per week since my second week on the project, for a development cycle which lasted for more than a year.

I've also been tasked with directing and designing various project related to speech recognition and VUIs (vocal user interfaces), often using architectures such as Google Cloud Platform and Amazon AWS.
Between them, there is a vocal assistant prototype and an automatic phonecall transcriptor aimed to call centers, with an average accuracy between 85% and 95%.
The most interesting one, however, is a framework developed in Java which allows to easily build up logic flows for dialogues, usable to create multi-platform chatbots (eg. web, Facebook, telephone) which can work both via text based or vocal interactions. This tool has been employed with outstanding results to autoamte the (multi-platform) booking flow of Casa della Salute, and a demo using an open dialogue model is available here (it uses italian language). Of course, comes with a full set of API, in-depth reports and statistics.

Better to light a candle than to curse the darkness (Laozi)

This is something I believe to be foundamental: if problems are there, they should be dealt with.
It's far too often possible to observe people (especially programmers) getting troubled by issues which make them lose time (and temper). Yet, instead of dealing with what is causing the current problem, they tend to use dirty workarounds to get through... Just to face a new issue right after.
Being able to choose the right tool and methodology for the job usually avoids such loop, both making the worker less stressed and making him do a better job overall!

  • I'm a great software developer! I have expertise with various programming languages, coupled with sweet logic thinking capabilities which allow me to use them at best!
  • I'm able to setup and administer Linux, Unix and Windows systems!
  • I'm quite versatile, and a fast learner for new technologies and methodologies!
  • I know how to scratch my brain (both alone and in group) to come out with the best solutions for the given problems! As long as it's possible to rationalize a problem, the solution will always be at hand!

For a detailed list of what I can do and use, look below!

  • Ruby (vanilla, Ruby on Rails)
  • Shell (zsh, bash, csh, ksh)
  • C
  • C++
  • JavaScript (vanilla, nodejs)
  • Python (2.6, 2.7)
  • Java (8+)
  • php (7.0+)
  • HTML
  • XML
  • LaTeX
  • CSS
  • SASS
  • Linux (Arch, deb-based, rpm-based)
  • Unix (FreeBSD, SunOS, Solaris, OpenSolaris, IllumOS))
  • Windows (XP, Vista, 7, 8, 8.1, 10)
  • Android (developing from 6.0 onwards)
  • Amazon AWS (EC2, Lambda)
  • Android Studio (for Android 6.0 and onwards)
  • Audacity
  • CLI (command line interface/shell/terminal)
  • CUPS
  • Eclipse
  • GIMP
  • GTK3
  • Google Cloud Platform (Compute Engine, APIs)
  • LibreOffice
  • Microsoft Office
  • Netbeans
  • OpenOffice
  • TeamViewer
  • VMware
  • VNC (tightvnc)
  • VUI (vocal user interface)
  • Vim
  • VirtualBox
  • Zimbra (installation and administration)
  • ftp (usage and administration)
  • git
  • mercurial
  • samba (usage and administration)
  • ssh
  • svn
  • zfs (Zettabyte File System)
  • Aikido
  • Analysys and rationalization of problems
  • English (advanced)
  • Fast learner
  • Fencing
  • French (baguette entry level)
  • Good memory
  • Good tolerance for children more than 40 years old
  • Good with animals
  • Good with children (but less than with animals)
  • I enjoy learning useful things (within human limits)
  • Japanese (basic-advanced)
  • Deductive logical thinking
  • Meritocratic: the (correct) knowledge is the best measure!
  • Platinum trophy of Bloodborne (it had to be here)
  • Problem solving
  • Scuba diving license (although quite old)