Mauro Pesci – Software Developer

SUMMARY

Mauro is an IT passionate that devoted his life to software development .

My initial goal was the construction of videogames, but over the years had experiences on different kinds of projects: desktop applications, mobile apps, videogames and websites.

While the first part of his experience was focused on pure programming (regarding small software, libraries, algorithms etc.), during the last years he started to understand the value of structure, organization and processes, for developing great software.

I have a strong interest in studying new topics and a great disposition to seek new solutions independently.

For this reason I continue to improve my skills and I have elected, as personal target, to master the entire software development lifecycle.

SPECIALTIES

  • Applications analysis, design and development for: desktop, mobile devices and the web. Small video games design and development.
  • Software development and technical guidance for small teams.
  • Ability to work in a completely autonomous way.

IT PROFESSIONAL SKILLS

Programming languages

  • Java (very good)
  • LUA (good)
  • C (good)
  • HTML (good)
  • SQL (good)
  • Objective C (intermediate)
  • C++ (intermediate)
  • Basic (intermediate)
  • C# (basic)
  • Javascript (basic)
  • PHP (basic)
  • CSS3 (basic)
  • Assembly (basic)

Metalanguages and data formats

  • JSON (excellent)
  • UML (good)
  • XML (good)

Development techniques

  • Structured programming (good)
  • Object oriented programming (good)
  • Development processes OOA&D (good)
  • Design patterns (intermediate)
  • Software architecture (intermediate)
  • RUP/UP (intermediate – and preferred)
  • Scrum (basic)
  • XP (basic)

APIs, SDKs and Frameworks

  • J2SE (good)
  • Gideros Mobile (good)
  • J2ME (good)
  • Cocoa Touch (intermediate)
  • Cocos2D (intermediate)
  • ANTLR (intermediate)
  • Spring Boot (basic)
  • Android SDK (basic)
  • QT (basic)
  • JAVA SWING (basic)
  • JAVA FX (basic)
  • OpenGL (basic)
  • SDL (basic)
  • Cocos2D-X (basic)
  • libGDX (basic)
  • jQuery (basic)

Programming areas

  • Algorithms and Data structures (good)
  • Applications architecture (intermediate)
  • Games and Game Engines architecture (intermediate)
  • Neural Networks (basic)
  • Genetic Algorithms (basic)
  • Data Encryption (basic)
  • Data Compression (basic)
  • AI (basic)
  • Parsers and programming languages (basic)

Versioning

  • Subversion (good)
  • Git (intermediate)

IDEs

  • Android Studio (good)
  • IntelliJ Idea (good)
  • NetBeans (good)
  • Gideros Studio (good)
  • XCode (intermediate)
  • Eclipse (intermediate)
  • KDevelop (intermediate)
  • Microsoft Visual Studio (intermediate)
  • GIMP (intermediate)
  • QT Creator (basic)
  • Unity3D (basic)
  • GameMaker (intermediate)

Operating systems

  • Windows 3.x-10 (good)
  • Mac OSX (good)
  • iOS (good)
  • Android (good)
  • Unix/Linux (intermediate)
  • Windows Phone/RT (basic)

Other Software

  • Bryce 7 (good)
  • PhotoshopCC (intermediate)

PROFESSIONAL BACKGROUND

September, 2013 – present

Software architect, Lead generalist developer – MONK s.r.l. Rome – Italy

  • Design and implementation of a Java server for the centralization of draws in a system for prize games. Through a series of parameterizable rules, the application keeps track of the attempts of each user and their won prizes. Therefore has the tasks of controlling access to the game only to users who comply with the established rules and extracting prizes.
  • Code redesign and evolution of the P2P chat application. Creation of a reusable library to provide chat functionalities on third-party applications. The complete reingeneering process determined a lot of modification on the structure, some refactoring – mainly made for supporting advanced features and obtaining more flexibility, other than semplifying the developer’s work – and many code reuse of the original application.The library was designed to be easily configurable depending to the different customers needs in terms of supported message/attachment types, communication protocols, persistence solutions and so on.I also wrote the main and generic part of the code on both Android and iOS platforms and led the team in the implementation of the specific modules.
  • Design, implementation of core architectural elements and tecnical giudance to a small team, for a new mobile app by Wind for all major platforms. The app mimics the functionalities of Whatsapp – although adds some extra services and it is based on MongooseIM server. (Linux, MacOSX, Xcode, Android Studio, CocoaTouch, Android SDK, XMPP)
  • Customer requirements definition, design and development of a prototypal client application for a cloud service. The application was designed to upload files on the cloud store, download, open files with the OS’ default applications and automatically detect changes to synchronize them. Despite the extreme simplicity of the application, there was very stringent requirements relating to security and data encryption. Besides this, the application – contained in a USB stick – is constituted by a monolithic executable, which does not require installation to be run. It works on all 32bit and 64bit desktop systems: Windows, Linux and Mac. (Windows 8.1, Linux, MacOSX, C++11, QT 5.3, UML, UP)
  • Customer requirements definition, design, development of a data entry mobile application by Enel – for both iOS and Android. Production of SRS (Software Requirements Specification), SDD (Software Design Document) and development plan documents. Client/Server communication interfaces specification. Technical and process guidance of the team’s programmers. (iOS 6/7, Objective-C, Xcode, SQlite, UML, UP)
  • Reverse engineering of the old application MyWind (from the WIND mobile carrier). Redesign, reconstruction and restyling of the application. Technical guidance of the team. (iOS 6/7, Objective-C, Xcode, UML)
  • Ideation, design and implementation of a unified service framework – for iOS and Android. The framework exposes facilities to abstract from client/server software objects exchange logic in JSON format, embodying also mechanisms for network communication. (iOS 6/7, Objective-C, XCode, Android 2.3.3+, Java, Eclipse, UML)
  • Mauro Pesci’s Curriculum Vitae – Page 2 of 8 Implementation of a DSL (Domain Specific Language) and a related code generator for automatic production of standardized entity classes. (Java, ANTLR 4, NetBeans, UML)

May, 2013 – July, 2013

Mobile/Web software developer – PineAPPle s.r.l. – Milan – Italy

  • Analysis, design and implementation of a mobile application – for iOS and Android – useful to read feeds relating to discos (posters and event description, photos, videos and general information relating to a particular club).
  • The application relies on a PHP server with GUI, made by me, for the data management of these feeds. (Titanium, iOS 6+, Android 2.3.3+, PHP 5, SQLite, MySQL, HTML5, CSS3, Bootstrap, CodeIgniter, UML)

April, 2013

iOS software developer – Digiform s.r.l. – Rome – Italy

  • Development of an application for recording short video clips, storing them in the iPhone roll and upload to a central server. This application has been used for various public events, such as the celebration of May 1 (Labor Day) in Rome. (iOS 6, Objective-C, Xcode, GIMP, ArtText 2)

July, 2012 – March, 2013

iOS software developer, Software engineer – Reply Live s.r.l.

  • Design and development of the native component of an hybrid E-Mail client – for login page, sliding menu and a webview container – combined with a web interface – for all other operations. (iOS 5/6, Objective-C, Xcode, Javascript, HTML)
  • Development of a commercial application for kids commissioned by the company DeAgostini. Such application consisted in an encyclopedia of animals, accompanied by two mini-games (memory and fifteen). (iOS 5/6, Objective-C, Xcode)
  • Production of architectural specifications for an application requested by Alitalia. The software was intended to replace an existing mobile app. I have worked closely with designers for defining the requirements and I produced a document describing the client as well as its server counterpart. I did not mind the integration of this solution with existing systems, that role was played by a special layer provided by another development team.

January, 2011 – June, 2012

Mobile software developer – Digital Fun s.r.l. – Rome – Italy

  • Development of an application – for J2ME mobile devices with MIDP 2.x profile for the company PallMall. The application was very simple, he had intended to submit a small personality test to users. (NetBeans 6.9.x, J2ME, Adobe Photoshop)
  • Elaboration and editing of a feasibility analysis document – and developement guidelines – inherent to the porting of J2ME existing games to a TV device of SKY.
  • Realization of an iOS application (for devices iPhone / iPod / iPad) – for the regional administration of the Veneto – with functionality for receiving multimedia content: display articles, news, promotional videos, road maps, cultural and gastronomic routes. (iOS 4, Objective-C, Xcode)
  • Realization of an important component for an E-Learning platform. The project involved the creation of a multi-user interactive electronic whiteboard built in Java and based on a client/server architecture. The whiteboard permits users to concurrently sketch, create shapes and text, move them, change their order, sizes and more. The client works on a simple browser in the form of a Java applet. (Java, JavaScript, HTML5, Ajax, Dojo)

October, 2010 – January, 2011

Mobile software developer – Mobile Soft s.r.l. – Rome – Italy

  • Application development of an application for BWM Italy on J2ME MIDP 2.x mobile devices for displaying presentation brochures regarding new products and car models. (J2ME, NetBeans 6.9.x, Adobe Photoshop)
  • Application development on mobile devices supporting J2ME MIDP 2.x technology, useful for displaying articles and videos for the Italian television channel LA7. (J2ME, NetBeans 6.9.x, Adobe Photoshop)

March, 2009 – July, 2010

Software developer, Functional analyst – Reply S.p.A. – Rome – Italy

  • Participation in the system analysis activities – gathering of stakeholders’ requirements and drafting of functional specifications – for an important web portal of TelecomItalia.
  • Development of components for a software system for PosteItaliane about managing tax demands. These components consisted of: ASP.NET pages, WebServices and a database SQL Server 2008. (ASP.NET, SQL Server 2008, SOAP)
  • Realization of reports for a reporting dashboard using the Report Services of SQL Server 2008. (SQL Server 2008 Report Services)
  • Development of a software component, for the system Qosmos, about automating the delivery of documents to external systems via SFTP protocol. (Php, NetBeans 6.8, SQLite)

November, 2007 – June, 2008

Software developer – Reply S.p.A. – Rome – Italy

  • Ideation and development of a web-based console for a Unix command-line product. The software, through a rich windowed graphical interface, allowed users to command the software remotely, enforcing their roles and automating some operations. (Windows XP, NetBeans 6, Java, Javascript, GWT-Ext, J2EE, MySQL)
  • Upgrade of the above mentioned Unix product to support extended charsets, not only ASCII, and introduction of several performance optimizations. (Linux/Unix, C++)

May, 2007 – September, 2007

Software developer – Afea s.r.l. – Terni – Italy

  • Maintenance and development of new modules for an existing software for private clinics. (Windows XP, VisualBasic.NET 2003/2005, Visual Studio 2003/2005, SQL Server)

June, 2006 – May, 2007

Game developer – Infobyte S.p.A. – Rome – Italy

  • Ideation, development and publication of a videogame – called SWAT Missions that was released on the WAP portal of H3G. (Windows XP, J2ME, NetBeans 5.5, Photoshop) Read more…
  • Ideation, development and publication of a card videogame – called “Il gioco della scopa” – that was released on the WAP portal of H3G. In this case I created everything: graphics, music and code. (Windows XP, J2ME, NetBeans 5.5, Photoshop) Read more…

January, 2006 – June, 2006

AS.TER.FORM. s.r.l. – Terni – Italy

  • Collaboration to the development of an industrial software useful in tracking activities of the workers at a company that deals with interior arrangement for luxury yachts. (Windows XP, Visual Studio 6, Visual Basic 6, SQL Server)

September, 2005 November, 2005

Software developer – Reply S.p.A. – Rome – Italy

  • Analysis and development of the server component of a client-server system useful for masking sensitive data contained in test evnironment databases. (Linux/Unix, C, C++, KDevelop, OpenSSL)

June, 2005 – August, 2005

Game developer – Idra Editing s.r.l. – Rome – Italy J2ME

  • Development of a video game designed by an italian publishing company, for mobile phones. The game consisted of a graphical adventure, structured in a comics-like style, which aimed to tell a story of teenagers struggling with the first taste of love. (Windows XP, J2ME, NetBeans 5.5, Photoshop)

I remember with a lot of joy this experience because I found some very interesting solutions to problems relating this particular game genre. For example I created a data structure – that I called “the script” – to pilot all actions and flows of the story (something that looks like a text-based data-driven Commander pattern, plus the ability to jump to an arbitrary location of the story)

February, 2005 – May, 2005

Software developer – HP – Rome – Italy

  • For the HP-FMS – HP Fraud Management System – project I was involved in the creation of scripts and Visual Basic macros to migrate data from an older version of the product. (Windows XP, C/C++, PL/SQL, Visual Basic for Applications, Oracle 9) Software developer

October, 2004 – Dicember, 2004

Software developer – Micron-asa s.r.l. – Rome – Italy

  • Maintenance of an old commercial software for accountants. (Windows 2000, Visual C++, Visual Basic, ActiveX, Visual Studio 6)

November, 2001 – October, 2004

HW and SW technician, Software developer – Self-employed – Viterbo – Italy

  • Hardware technical assistance for Pcs: assembly, upgrade, maintenance and repair. Installation and configuration of devices: modems, printers and so on.
  • Software technical support for Pcs: installation, maintenance and recovery of the operating system. Software installation. Internet and email account configuration.
  • Development of a Web portal, for the company “Krea-service srl” in Rome, with the aim to publicize the commercial activities within a large geographic area of Rome. (Windows 98, Visual Basic, VBScript, Microsoft Access 2000, HTML, ASP)
  • Prototype development of a software for Windows CE.NET handheld devices to interface them with the central database of a real estate agency. (Windows 98, Visual Basic, Pocket PC 2002, ASP, SQL Server, SQL Server CE)

October, 2001 – November, 2001

Software developer – DwNet s.r.l. Rome – Italy

  • Implementation of a software for famous italian film producer to manage information about the process of filmmaking, with particular attention to theoptimization of costs and resources. (Windows 98, Visual Basic 6, SQL Server)
  • Functional analysis for a data warehouse. Participation to interviews for the definition of user requirements. Design of some parts of the main database.

March, 2001 – October, 2001

Software developer – Cyborg s.r.l. Rome – Italy

  • Development of some applications in Visual Basic 6 for restaurants and shops (Windows 98, Visual Basic 6, SQL Server, Visual Source Safe, ActiveX)
  • Development of a command-line utility for binary files conversion – from and to the CSV format – containing information about telephone calls traffic. Maintenance and optimization of Microsoft Access macros. (Windows 98, Unix, Excel, Microsoft Access, C)
  • Period of about a month of study and work in London (ICL – Stevenage, London)

January, 2000 – March, 2000

HW and SW technician, Programmer – World Service Informatica s.r.l. – Viterbo – Italy

  • Assembly, maintenance and repair of PC for the company’s customers.
  • Construction of small software solutions in Visual Basic. (Windows 98, Visual
  • Basic 6, Microsoft Access)

February, 1999 – December, 2000

HW and SW technician, Programmer – Computer & Office s.r.l. Viterbo – Italy

  • Assembly, maintenance and repair of PC for the company’s customers.
  • Construction of small software solutions in Visual Basic. (Windows 98, Visual Basic 6, Microsoft Access)

June, 1997 – January, 1999

Serviceperson – Caserma L. Manara Roma – Italy

  • Software support for PCs and special equipments. Training my fellow soldiers to use PCs and the most common programs (Word, Excel).
  • Word Processing
  • Data entry

INDIE DEVELOPMENTS

April, 2014BrickBreaker GameKitiOS game kit based on SpriteKit.
November, 2013iSameGameA same game version for iOS built in Cocos2D v2, sold on CodeCanyon platform.
July, 2013jSliderProjSliderPro is a complete and highly customizable jQuery slider and banner rotator and is equipped with a complex set of features that make it extremely flexible and adaptable.
October, 2012Fifteen game Kit for iOSIt is a mini-game based on the famous Fifteen puzzle
June, 2012 – August, 2012Tic Tac Toe EvolutionMy first game for Android. It represent an evolution of the classic game Tic Tac Toe. It differs from other games in the ability of the computer to play a challenge against uman players on larger platforms than the usual 3×3.
January, 1999Mission AsteroidsMy very first complete game for Windows 98 created using DIV Games Studio. It was a simple remake of the classic game Asteroids.

PUBLICATIONS

Dev by Infomedia May, 2005 – November, 2006

After meeting the chief editor of an italian magazine called DEV, mainly oriented to the world of programming, I began a long collaboration with them. I have written many articles focused on game development. After the publication of the first, I was entrusted with the direction of a dedicated section called “Game DEV”.

I can say this was a very pleasant experience for me. I was given, infact, the chance to express myself.

Below I have mentioned, as a reference, a brief summary of the treated arguments. Normally I have published a single article per month, but often – due to the relevance of the topic – they collected several articles in one big special tutorial.

May, 2005DEV 129 Introduction to Game Maker 6
June, 2005DEV 130 Let’s create a game with Game Maker 6 (Part 1)
July/Aug 2005 DEV 131 Let’s create a game with Game Maker 6 (Part 2)
September 2005DEV 132 Special Edition Usign OpenGL (5 articles)
October 2005DEV 133 Let’s create a game with Game Maker 6 (Part 3)
November 2005DEV 134 Creating a J2ME application using MIDP2
December 2005DEV 135 J2ME and graphics
September 2006DEV 143 JSR 184: Using 3D in J2ME (3 articles)
November 2006DEV 145 JSR 184 The retained mode (2 articles)

LANGUAGES

ItalianMother tongue
EnglishWritten (good) – Spoken (medium)

EDUCATION

June, 1996General Certificate of I graduated at the the Public Institute of Techical Education “L. Da Vinci” Secondary Education Viterbo (Italy)

INTERESTS AND ATTITUDES

  • I adore playing videogames especially coin-op, from the wonderful ’80s.
  • I love reading books of various genres from science fiction novels to technical documents.
  • I like digital photography.
  • I like particularly jazz music.
  • I’m not very interested in politics.
  • I love the silence, to be calm and stay relaxed, especially surrounded by nature.
  • I integrate easily into new developers team.
  • I love to take initiatives about new interesting development solutions and techniques.