NICOLO' MARCHI

MSc in Computer Science

I work on Machine learning and Big data topics. I like studying and explore everything about artificial intelligence, machine learning, big data, static analysis, software security and functional languages. Feel free to take a look around!

Employment

  • R&D Software Engineer - Machine Learning, Data Mining16/03/16 – Current

    ContentWise - Digital TV. Personalized., Milan - Italy

    I'm working inside the Research and Development team as a Machine Learning and Data Mining Engineer. I currently work on the UX Engine, Recommender System, Editorial Tools and Analytics parts of the company products stack, to implement new features and improve tools quality, using an AGILE products development management (Scrum). Main responsabilities and tasks:

    • - design and develop machine learning algorithms for large scale distributed data processing and recommendation models using Java 7, Scala and Spark MLlib.

    • - design and build high-performance frameworks to manage data, configurations, ingestions etc using using Java 7, Scala, Spark and internal frameworks.

    • - analyze and re-desing products parts to improve performances and add new technology stacks (such as graph databases like Janus or Tinkerpop, NoSQL databases like Cassandra, or engines like Spark).

    • - develop and manage real-time APIs to serve recommendation to final users using Spring, Java EE 7

    • - develop data ingestion pipelines and data processing for recommendation models, users and catalogues and for analytics aggregations and KPIs using Scala, Spark, SQL, Python.

    • - design and build analytic systems and pipelines that are correct, scalable, reliable, and accurate through SQL, Python, Spark, Hadoop, etc.

    • - support integration and operation team of production and integration problems, also on customers sites, national and international (EMEA and LATAM).

    • - describe and propose new features and procedures through techinal and design documents.

  • Big Data Engineer02/02/15 – 11/03/16

    Blue Reply S.r.l., Milan - Italy

    I worked inside the Information Management business unit of Reply consulting, on different projects about Big Data and Cognitive systems projects. Detailed achievements and projects:

    • - design and implementation of a Natural Language Processing framework used as query interface from a search engine for a big italian banking group, using Java EE 7 and the Apache OpenNLP library.

    • - development of a Retail Banking Ontology and porting of it from OWL to an OrientDB graph database. Implementation of APIs to visit the graph.

    • - implementation of an anti-fraud and anti-laundering analytics tool for a big italian banking group using big data technologies as: Cloudera products (CDH 5.3.2, Impala, etc.), Apache Spark and Scala language.

    • - developing of a 1st level help desk automation assistant that recognize Natural Language queries, using NLP techniques, a search engine (IBM Watson Explorer) and a classification tool (IBM Content Classification).

    • - evolutive maintenance service of a tool that gathers and ingest energy stock markets information for the trading department of a big french energy operator.

    • - several activities inside the internal R&D Competence Center. (Machine Learning, big data, real time processing, etc).

  • Internship, Academic Researcher14/07/14 – 05/09/14

    University of Verona, Department of Computer Science (Italy)

    Implementation of a monitoring system for plan execution on a robotic boats environment, for the Carnegie Mellon Cooperative Robotic Watercraft project.

  • Internship, Academic Researcher21/02/11 – 15/04/11

    University of Verona, Department of Computer Science (Italy)

    Developer of an Android application called "GeoProfiler", for create and manage profiles on and Android phone. The profiles change according to the location of the phone, and use the social networks (as Twitter) for communicates those changes.

  • Internship, Technician of Informatics Systems 12/06/06 – 24/06/06

    Lycée et CFA La Châtaigneraie, Rouen (France)

    Practical experience on management of an internal network, physical managing of networks and network's instruments, remote help desk and maintenance

Education

  • Master's Degree2011 - 2014

    University of Verona, Department of Computer Science

    Curriculum of Engineering and Software Security. Deep study of Artificial Intelligence, Cryptography, Automated Reasoning, Networks and Systems Security. Grade 110/110 cum laude (lowest/highest possible grade: 66/110)

  • Erasmus Experience02/2013 - 07/2013

    Universidade Técnica de Lisboa - Instituto Superior Técnico

    Six months of Erasmus in the best engineering university of Portugal, in the faculty of Information Systems and Computer Engineering.

  • Bachelor's Degree2007 - 2011

    University of Verona, Department of Computer Science

    Basis of Linear Algebra, Databases, Algorithm an Data Structures, Compilers, Software Engineering, Logics.

  • Head Technician, Computer Technology2001 - 2007

    I.T.I.S Guglielmo Marconi

    Technical high school in computer science in Verona. This school gave me the basis of the Computer Science world.

Certifications

  • Machine Learning03/03/2014 - 01/06/2014

    Coursera
    prof. Andrew Ng - Stanford University

    Introduction to machine learning, datamining, and statistical pattern recognition. Topics include: Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI).

  • Practical Machine Learning02/06/2014 - 29/06/2014

    Coursera
    profs. Jeff Leek, Roger D. Peng, Brian Caffo - Johns Hopkins University

    Basic components of building and applying prediction functions with an emphasis on practical applications. Basic grounding in concepts such as training and tests sets, overfitting, and error rates. Introduction of a range of model based and algorithmic machine learning methods including regression, classification trees, Naive Bayes, and random forests. Complete process of building prediction functions including data collection, feature creation, algorithms, and evaluation.

  • Functional Programming Principles in Scala25/04/2014 - 29/06/2014

    Coursera
    prof. Martin Odersky - École Polytechnique Fédérale de Lausanne

    Introduction of the cornerstones of functional programming using the Scala programming language such as: functions and evaluations, high-order functions, data and abstraction, types and pattern matching, lists, collections, lazy evaluation.

  • R Programming07/06/2014 - 03/08/2014

    Coursera
    Roger D. Peng, PhD, Jeff Leek, PhD, Brian Caffo, PhD - John Hopkins, Bloomberg School of Public Health

    Learn how to program in R and how to use R for effective data analysis. Programming in R, reading data into R, accessing R packages, writing R functions, debugging, profiling R code, and organizing and commenting R code.

Programming Skills

  • Java

  • Scala

  • LISP/Scheme

  • C/C++

  • ML, Ocaml

  • HTML, PHP

Certifications

Contact info

Let's keep in touch