- Software Development EngineerGroupon2015 - 2015
Technologies: Java, Python, C++, Docker
- Designed, developed, deployed, and maintaned micro-services.
- Used Docker for functional tests.
- Contributed to the Dev-Ops rotation for monitoring our services.
- Created UI interfaces with Node.JS.
- Developed services with Spark-Java and DropWizard.
- Software EngineerTripAdvisor2014 - 2015
- Developed on the full stack, working on every aspect of the application, from back-end to front-end.
- Analyzed data with technologies like Redshift, Hadoop and Tableau.
- Developed the reason messages, which increased the click rate up to 30%.
- Advocated a testing culture, significantly increasing test coverage for the code produced by my team.
- Improved debugging tools available to our PMs to evaluate our algorithms.
- Architectural Designer/TrainerSistemi2014 - 2014
Technologies: C#, .NET, ANTLR
- Designed a parser for an existing DSL.
- Built a code generation framework for .NET.
- Implemented the semantic analysis functions for the DSL.
- Released an open-source framework for metamodeling manipulation in .NET.
- Contributed remotely to project completion.
- Research AssistantPolitecnico di Torino2010 - 2014
Technologies: JRuby, Ruby, R, Python
- Developed software for static and dynamic analysis of code in different languages (mostly JRuby, Python and Java).
- Analyzed data (with JRuby, R).
- Assisted in teaching four different courses on software development (generally UML, Java, and Python).
- Supervised students working on their bachelor's/master's theses.
- Realized independent research work.
- Visiting PhD StudentFortiss Institute (Technical University of Munich)2012 - 2013
Technologies: JetBrains MPS, MDD, Java
- Contributed to the mbeddr project.
- Collaborated with some of the world's most talented engineers in MDD.
- Wrote an importer from C code lifting higher level concepts.
- Co-authored several papers on C preprocessor code analysis.
- Collaborated also with BMW.
- MDD ConsultantCSI Piemonte & Trim2009 - 2012
Technologies: Xtext, Xpand, EMF, Eclipse
- Designed a complete MDD solution. The solution was integrated with existing Java code and had a code generator.
- Tried personnel on EMF.
- Conducted explorative studies to refactor the development process around an MDD architecture for a large company.
- Software DeveloperDivitech2007 - 2007
Technologies: Java, Struts, J2EE
- Contributed to several projects for the Italian police.
- Evolved a large existing application to control a fleet of cars.
- Helped train police officers, teaching them how to use the application.
- Participated in meetings with directors of the IT infrastructure of the Italian police.