Mauro Pesci – Software Developer

SUMMARY

Mauro is a passionate IT professional who has dedicated his life to the art of software development.

From his early days, his primary focus was on constructing captivating video games. However, as the years passed, he gained extensive experience working on diverse projects ranging from desktop applications and mobile apps to websites.

While his initial journey revolved around pure programming, involving small-scale software, libraries, and algorithms, Mauro has evolved to recognize the immense value of structure, organization, and streamlined processes in creating exceptional software.

Driven by an insatiable curiosity, he maintains a keen interest in exploring new and emerging technologies, actively seeking innovative solutions independently.

Motivated by a constant desire for growth, Mauro consistently hones his skills with the ultimate goal of mastering the entire software development lifecycle.

By combining his unwavering passion, diverse experience, and commitment to continuous improvement, Mauro is poised to make a lasting impact in the field of software development.

SPECIALTIES

  • I have expertise in analyzing, designing, and developing applications for various platforms, including desktop, mobile devices, and the web. Additionally, I specialize in the design and development of small video games.
  • With a strong background in software development, I excel in providing technical guidance and support to small teams. I am adept at collaborating with others while also possessing the ability to work autonomously when necessary.
  • My skill set encompasses the entire software development lifecycle, allowing me to contribute effectively in all stages of a project. I consistently stay updated with the latest industry trends and technologies, ensuring that I can deliver cutting-edge solutions.
  • Combining my technical proficiency, collaborative mindset, and self-reliance, I am well-equipped to drive successful outcomes in diverse software development endeavors.

IT PROFESSIONAL SKILLS

Programming languages

  • DART (excellent)
  • Java (very good)
  • Kotlin (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

  • Object oriented programming (very good)
  • Structured programming (good)
  • Development processes OOA&D (good)
  • Design patterns (intermediate)
  • Software architecture (intermediate)
  • Agile metodologie, principles and practices (good – and preferred)
  • UP (intermediate)
  • Scrum (intermediate)
  • XP (intermediate)

APIs, SDKs and Frameworks

  • Flutter (very good)
  • Android SDK (intermediate)
  • J2SE (good)
  • Gideros Mobile (good)
  • J2ME (good)
  • Cocoa Touch (intermediate)
  • Cocos2D (intermediate)
  • ANTLR (intermediate)
  • Spring Boot (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 (good)
  • 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)
  • Visual Studio Code (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

  • Visual Paradigm (good)
  • Figma (intermediate)
  • PhotoshopCC (intermediate)
  • Bryce 7 (good)

PROFESSIONAL BACKGROUND

September, 2013 – present

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

  • Development of flutter solutions for some of the company’s customers, with the help of the proprietary framework developed previously.
  • Flutter implementation of a P2P chat solution that will be imported as an external component for our customer’s app.
  • Analysis, design and participation to the implementation for porting of an important existing native (iOS and Android) app to Flutter. This is an hybrid product that combines some of the existing components of the native counterpart and new elements build in Flutter. The app is highly modularized to allow us to obtain a number of arrangements to satisfy different customers’ needs. Mentoring on flutter, technical support and guiding the development stages, for other team members.
  • Design and implementation of a native mobile framework for service-based application that uses XMPP as communication protocol.
  • 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, 2014 BrickBreaker GameKit iOS game kit based on SpriteKit.
November, 2013 iSameGame A same game version for iOS built in Cocos2D v2, sold on CodeCanyon platform.
July, 2013 jSliderPro jSliderPro 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, 2012 Fifteen game Kit for iOS It is a mini-game based on the famous Fifteen puzzle
June, 2012 – August, 2012 Tic Tac Toe Evolution My 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, 1999 Mission Asteroids My 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, 2005 DEV 129 Introduction to Game Maker 6
June, 2005 DEV 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 2005 DEV 132 Special Edition Usign OpenGL (5 articles)
October 2005 DEV 133 Let’s create a game with Game Maker 6 (Part 3)
November 2005 DEV 134 Creating a J2ME application using MIDP2
December 2005 DEV 135 J2ME and graphics
September 2006 DEV 143 JSR 184: Using 3D in J2ME (3 articles)
November 2006 DEV 145 JSR 184 The retained mode (2 articles)

LANGUAGES

Italian Mother tongue
English Written (good) – Spoken (medium)

EDUCATION

June, 1996 General 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.