MATTEO PROSPERI
******.********@*****.***
OBJECTIVE I aim to work solving challenging problems and expanding my knowledge as a software engineer. I look for a company fostering a collaborative environment, with a mission to create great products. WORK COMTEST WIRELESS Turin, Italy
EXPERIENCE Software Engineer and Product Manager, 2004 – Present Project Manager, 2009 – Present
Software development in C++ and C#, project management and product management for data acquisition and analysis software.
My responsibilities include:
defining the software architecture
managing a development team
writing some of the most critical modules of the software
managing customer and supplier relations during the development and integration phases of the project.
WORK DISTRIBUTED MONITORING AND ANALYSIS SYSTEM FOR GSM-R NETWORKS PROJECTS Software Engineer, Project and Product Manager, since December 2009 I have conceived and engineered a distributed acquisition system for the monitoring of GSM-R (GSM- Railway) networks. I am currently leading a team developing and maintaining the system and I managed its deployment in various railway operators in Europe The system allows:
aggregation of data across nation-wide network monitoring and automatic import from multiple nomadic active probes
real-time analysis, KPIs generation and alarming
customizable report generation
post-analysis over an online database spanning multiple years. The project offered various challenges:
development of a custom, specialized, compressed, file-based database optimized for reliability, easy backup and fast extraction of data from multiple terabytes of stored information
development of a flexible and efficient binary file format for the storage of various types of data, including decoded protocol traces
development of a decoding platform and parsers for tens of protocols in the families of GSM, ETCS, TCP/IP, SS7 and SIGTRAN stacks
development of a peer-to-peer communication architecture allowing auto discovery over multiple sub-networks in corporate network environments Most of the development has been executed in C#/WPF, C++ and C++/CLI prioritizing optimal performances, scalability and efficient software development. REAL-TIME DATA ACQUISITION SYSTEM
Software Engineer, since May 2004
Software development in Visual C++ of a drive-test data acquisition platform for the testing and troubleshooting of wireless networks. The system is especially targeted at in-train usage for the testing of GSM-R networks.
I have accumulated experience on managing and communicating with devices over various interfaces
(serial, USB and Ethernet) guaranteeing real-time data acquisition with precise timestamping. My major contributions to the project have been:
Design and implementation of a graphic, event based, programming language to define and manage complex testing scenarios involving asynchronous operations and synchronization of multiple devices
Development of a geolocation solution to provide positioning on railway tracks, both in open field and in tunnel, based on GPS and odometer inputs
Development of hybrid GDI/WPF plots for high performance presentation of the real-time evolution of hundreds of variables
Implementation of the software licensing and activation based on RSA cryptographic signatures. Most of the development has been executed in Visual C++ with heavy use of Win32 APIs and GDI. Some components have been developed using C# and C++/CLI. ANALYSIS SYSTEM FOR GSM-R NETWORKS BASED ON A SQL SERVER DATABASE Software Engineer and Product Manager, since December 2004 I have designed and implemented an analysis system for GSM-R networks. The software is backed by a SQL server database and is implemented using C# and Windows Forms. This software is currently in use in most European railway operators.
PROTOCOL STACK FOR HEAVY DATA TRANSFER OVER A LOSSY, LOW BANDWIDTH CHANNEL Software Engineer, 2014
I have designed a stack of protocols for the synchronization of endpoints and their communication over GSM data calls. GSM data calls provide extremely low bandwidth (in this case 4.8kbps) and a very lossy channel. This protocol stack is engineered to allow:
multiple independent real-time communication
fast recovery in case of packet loss
data compression
storage and retransmission of data in case of loss of the communication channel. I implemented the proof of concept in C# and later supervised the re-implementation in C++. HOBBY SILVERLIGHT VIDEOGAME FOR WINDOWS PHONE
PROJECTS 2013-2014
I developed and published, with a group of friends, a turn-based action RPG for Windows Phone 7/8. PROCESSOR ARCHITECTURE DESIGNER AND EMULATOR
2015
I am currently in the design phase of a ludic/didactic software allowing to:
visually define a processor architecture
write assembly code for the processor defined by the user
emulate and debug programs
SKILLS Languages:
Native language: Italian
Fluent in English
Computer languages:
Very good knowledge: C#, C/C++
I have also used in the past Visual Basic, Java and Assembly. Programming skills:
OOP, multithreading, TCP/UDP sockets, software architecture, protocol decoding, SQL Development technologies:
Expert: .NET, WPF, Win32, Windows Forms, GDI
Some experience: WCF, C++/CLI
Networking:
Expert: GSM protocols and technology, IP networks, SS7/SIGTRAN protocols, network monitoring and protocol analysis, ETCS
Good knowledge: V.110, LAPB, X.224, E1 networks, switched LANs
Some experience: LTE, WCDMA, GPRS protocols, DVB, SNMP, SDH, serial communication. Development tools:
Visual Studio, GIT, SVN.
EDUCATION POLITECNICO DI TORINO Turin, Italy
Master of Science in Computer Engineering, 2006
Grade: 110/110
POLITECNICO DI TORINO Turin, Italy
Bachelor of Science in Electronics Engineering, 2004 Grade: 110/110 Magna cum Laude
OTHER C/C++ private lessons to engineering Bachelor students, 2006-2014 ACTIVITIES