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!
For a detailed list of what I can do and use, look below!