Resume

Date of BirthJanuary the 6th, 1974
Place of BirthBologna, Italy
High SchoolInformation Technology, 58/60, Pistoia, July of 1993
UniversityDr. in Economics, 104/110, Bocconi Commercial University, Milan, March of 1998
Graduation Thesis8+1/8, Complex Systems Analysis in the firm reality - A normative and predictive model based upon the complexity science theory.

Background

I am a curious, proactive person, constantly searching for improvement and refining of myself and of the things I work on. For this reason, I studied information technology and Economics, so to investigate the two main forces for growth of our times, and the relations between them.

As I started programming at the age of 6, I have acquired a structured thought process, that, nevertheless, didn't sooth my natural creativity; instead, this shaped my ability to abstract and idealize into useful and fruitful outcomes.

Accordingly, my interests, studies and work experiences are wide and varied. This provided me with a powerful and multi-directional approach to problem solving, and with the sensibility to detect profitable approaches with limited information.

In my work I have dealt with several high-profile institutions at European and International level, including the London Stock Exchange. This gave me the on-field experience needed to talk business (and information technology in relation to financial business) at an international level.

Skills

Project & marketing management

  • Start-up project management: 4 years
  • Agile teamwork (scrum): 2 years.
  • Advertising management: 2 years
  • Data gathering and analysis: 2 years
  • Corporate project management: 1year

Generic Informatio Technology

  • Heavy duty multithreading: +12 years
  • AI/A-life: 5 years
  • Data analysis techniques: 6 years
  • Programming language design: +12 years
  • Language processing: 2 years

Programming Languages

  • C/C++: over 25 years.
  • Java: over 10 years.
  • Python: 4 years
  • PHP, Javascript: 3 years.
  • Objective C, Xbase: 2 years.
  • Minor experiences with VBasic, C#, Prolog, Lisp, Assembly ecc.

DBMS

  • MySQL: 4 years.
  • SQLite: 2 years.
  • Minor experiences with MS-SQLServer, Interbase/Firebird, PGSql.
  • Minor experiences with datawarehouse platforms.

System Administration

  • GNU/Linux Administration: 10 years.
  • SunOS System Administration: 3 years.

Others Experiences

  • Teaching at university courses
  • Delivering professional courses
  • Professional level writing (Italian) – with ISBN publications.
  • Experience in patent registration

Highlights

  • Recently, I have been in charge of coordinating efforts from different work groups in mission-critical client facing integration projects.
  • I have been working for over twelve years in high pressure deadline driven work environments.
  • I am the author of the Falcon Programming Language, an international open source project involving many developers across the globe. The project has been continuously worked on since 2002, and is still ongoing.
  • I have been leading groups up to 6 developers.
  • I participate in the scientific committee of the VFF Mare Nosturm Institute, a research non-profit organization focusing on ecology, environment and economics.
  • I have an interest in the most advanced AI frontiers, in the specific: evolutionary programming and genetic algorithms. I published a paper on genetic symbolic algorithms (can be freely accessed browsing for “Giancarlo Niccolai” on academia.edu). My researches on the field continue today, and the Falcon Programming Languages embeds concepts of evolutionary symbolic programming.
  • I have also experience in 2D and 3D graphics production.
  • I have experience of teaching in University contexts, as a trainer for the fellow coworkers and as a professional hired trainer. I have also been invited as a speaker for presentations involving my works, other than public talks about the Falcon Programming Language.

Work Experience

Senior Software Engineer at Bloomberg (Lugano, CH and London, UK)

October 2014 to present

I am currently a Senior developer in the Realtime Data Processing team.

I have been previously currently in charge of maintaining and extending the data model of the historical data mining engine. I coordinated over ten integration projects, the most complex of which has been the change in the GICS (issued by MSCI).

R&D, Tech lead for startup business C.K.D. (Lugano, CH)

January 2011 to October 2014

As part of the founders, my role was that of leading the technical development of an innovation in the field of cryptography on mobile devices and distributed applications. I was in charge of designing the infrastructural services (a cloud server written from ground-up in C++ on the SunOS platform), as well as the interface libraries and the final clients on Web and mobile platforms (Android, iOS). Although the business never reached full market development, we deployed two working applications on the Android and iOS stores, and we developed several prototype applications as a promotion for fund raising and as a technology base for the start-up business.

I am the inventor of patent pending business methods employing Cryptography (PCT WO2013120511 and PCT WO2011137927).

Software Architect at ITSoftware (Milan, Italy)

December 2005 to January 2011

The company was the official provider of the trading client of Borsa Italiana S.p.A., later acquired by London Stock Exchange Ltd. The work primarily consisted of analyzing various financial market connectivity SDK designs as abstract trading platforms, so to translate the concepts proper of specific trading systems into generic financial information as handled by our trading platform. After this first step, I had then to design plug-in software modules to receive the physical data stream from the financial market information dispatching systems, and transform them into the information as handled by our middleware and client system in real-time. During the work there, I was also put in charge of redesigning the engine of the middleware server (Windows 64 bit servers/C++), so to boost its performance to meet the increasing demands on our client base. As I rewrote the engine using low level networking programming and fine-tuned memory management, the capability of the server went from 4,500 messages per second up to 82,000. I was also in charge of the Java SDK used by third party customers, and by some of our market service products, to connect with our middleware servers. The usage of NIO and a complete redesign of the internal dispatching engine made it capable of handling more than 7,000 messages per second, while the version previous my assignment on the project was handling a bit more than 1,000. The work required to form small teams of 2-4 developers, of which I was in charge, answering directly to the IT development manager.

IT manager at Know How 7 (Milan, Italy)

February 2000 to June 2005

A little IT service company, active in web design, software development and small firm IT management. As the IT manager, I was in direct contact with the customers, and coordinated the projects that involved building up small firm network infrastructures, web visibility, and in some cases business-logic driven software. The firm held a workforce of 5 technicians (everyone of them flexibly employed as system administrator, network technician, web developer or business application designer), which I was to coordinate across several projects. We mainly delivered Xbase/MS-windows applications, or built web services on a classical LAMP (Linux / Apache / Php / Mysql) architecture.

Marketing Manager at Banca Cremasca (Crema, Italy).

September 1998 to January 2000

A small local bank, employing 80 people and accounting for approximately 1.2 billion Euros of administered lots. My position in the organization was that of staff at the direct orders of the CEO. My work consisted of:

  • providing analytical/strategic marketing support to the direction. In this area, I heavily applied my expertise in development by writing my own data analysis tools in C++, Java and Prolog.
  • planning and implementing communication campaigns;
  • managing sponsorship events;
  • design and marketing of financial products;
  • working as a front-line PR with the official institutions of the town;

Concretely, I was in charge of planning the spending on marketing-relevant events and sponsorship on one side, and analyze marketing-related data to optimize the activity of our sales on the other. My activity also involved the promotion of financial products as special issuing of bonds, or targeted current accounts. In one case, the “Mutuo CasaMia” (My-home loan), I designed the product ground up, from the name up to the details of the payment plans, in what could be considered a case-study of financial product management. As I had some skills in computer graphics and text composition, other than planning the marketing campaigns, I also created the vast majority of the Ads: 36 newspaper advertisement (most of them half-page width), 2 radio and 1 TV spot. On the analysis side, I used my knowledge of programming and data management to perform several statistical analysis on the customer base, coupling their data with the usage behavior patterns that could be observed on their accounts. One involved writing a simple genetic algorithm to find their most probable reaction to some variance in the account terms. The code I wrote for this activity, originally written in Java, was then used to realize a C++ advanced genetic algorithm which extracts a generator function out of statistical data. The code is now available as a public open source project (http://geneticd.sourceforge.net), and the theoretical basis is explained in a publicly available paper (“FunctionFinder - A symbolic genetic algorithm to find interpolating functions”) that can be downloaded there, or at academia.edu. Another nice tool I wrote there was a web-based browseable dynamic map of the penetration index on the local territory, that could be exploded up to the street level, which determined the quota of active population that was currently a customer of our bank.

Jr. account at Se.Ma. group (Milan, Italy).

May 1998 to September 1998

A consulting company working as a software integrator for industrial corporate businesses. Being my first job after majoring in Economics, I was put in charge of “translating” the needs of the marketing people with the activity of the IT people, as I “spook both languages” (in the words of my manager). In the few months I was there, I've been able to bridge the requirements across, and also to realize a prototype data warehousing system (based on Oracle DBMS and Visual Basic) that allowed the “marketing people” to drill down or aggregate their operative, selling-point generated data, at different levels and on several, most relevant dimensions.

Education

Laurea Magistralis (Dr.) in Economics

1993-1998 Bocconi University, Milan, Italy

The “Laurea” of the Bologna University system was granted after a minimum of 5 years of study, and a research project that had the requirement to be a scientific publication worth production.

I followed the academic course of Firm Economics, with specialization in Company Strategy and Strategic Marketing. My graduation research project was called “Complex System Analysis in Firm Reality”, and used the theoretical approach provided by the Complexity Science (E.Morin, M. Gell-Mann) as an epistemological base to realize a model of firms, that could then be used to evaluate different strategies and undertake long-term decisions. While I majored with a final vote of 104/110, the work was considered outstanding, and exceptionally granted 9 points over a maximum of 8.

As a part of the graduation thesis, I realized a software performing the analysis of weighted directed graph representing a system of linear equations (which, themselves, represent crucial variables extracted from analysis of firms).

IT Valuer diploma

1993-1998 ITIS S. Fedi, Pistoia, Italy

In this technical school providing an education in IT and related fields, I was given the basis of structured programming, finite-state automata, virtual machines and neural networks. The courses also included analogical and digital electronic, as well as higher statistic (including multivariate analysis), chemistry, physics and mathematics (including linear algebra and calculus). This is where I got my first experiences of C, starting at the age of 14, and of C++, at the age of 17.

As graduation project, I realized a demo virus in assembly & x86 machine code, (harmlessly) infecting and propagating through .EXE programs, and the relative anti-virus.

The final vote was of 58/60.

Languages

  • Italian: Native Speaker
  • English: Advanced
  • Japanese: Advanced
  • French: Middle level
  • Chinese: Beginner

Other interests

  • Oriental (ancient) literature
  • Writing
  • Music (guitar / composition)
  • Ancient civilizations / ancient languages

Previous jobs

  • Free lance programmer from 1990 until May the 21th, 1998
  • Assistant project manager from May the 21th, 1998 to July the 6th 1998 at "Sema Group Italia", a firm of the Olivetti group. Here, developed the analysis for a data warehouse system.
  • Employee as marketing manager from July the 6th 1998 at Bank of Crema, a local bank in Crema (CR), Italy, belonging to the Credito Cooperativo system; 500 million dollars of administered lots.
  • Since 2001, IT & Process consultant for several small Italian credit scoring agencies.
  • Since 2005, senior IT consultant and architect for a relevant Italian software development company. Design and realize middleware application interfacing financial market and driving real-time financial negotiation software.

Skills

Information Technologies

During my working experience in the IT field, I developed a deep knowledge of programming techniques under a wide range of applicative hoods. Most notably:

  • Knowledge various programming languages: C, C++, Perl, Python, PHP, Java, Visual Basic, C#, Prolog, Lisp, Assembly, Clipper/xbase, just to name the most common ones.
  • Knowledge of DBMS systems: Oracle, MS-SqlServer, My-sql.
  • Administration of Interbase/Firebird DBMS systems.
  • Administration of UNIX servers and workstations.
  • Management and development of Internet application servers: web based application servers, web farms, mail servers & community services.
  • Internet based applications.
  • Open source development and management.
  • AI, A-Life, adaptive algorithms.
  • Computer graphics (2D and 3D production and programming).

Marketing management

Among the skill I have developed during my career as a marketing manager, the following are prominent:

  • Advertising management
  • Product management
  • Internal & external communication policy
  • Media strategy and planning
  • Data gathering and analysis

Training and teaching

I have a personal attitude for teaching and transmitting my skills and knowledge to the others. I am able to produce written material, on-line courses and slide presentations, both meant as stand-alone learning resources and as a face-training session support. Among the topics I have dealt up to date, the most notable are:

  • Network banking
  • Credit scoring
  • Network security
  • Programming languages
  • Software usage The courses have been kept in a wide range of contexts, from university classrooms, master level degree sessions, on-site at customer's locations and even in e-learing based sessions.

Economics studies

In the course of my studies, I have been able to widen the range of my knowledge, learning about theoretical Economics science, and practical management issues. I took the specialization in marketing; the course I followed is one year long, and is subdivided into six lesser courses: Strategic marketing, Customer and demand analysis, Product management, Advertising and communication management, Competition and sector analysis and Trade marketing.

Other notable courses in my academic career are Firm Strategy, History of Economy development and Analytic measurements for firms.

Current job

IT software architect for financial market applications. My role is that of analyzing various financial market data streams and designing applications and systems able to deliver real-time data to final users; this includes communication and interfacing with international market institutions and data providers and continuous interaction with other workgroups in my firm.

Former jobs

Analyze customer IT need To project cost effective solutions.

After customer approval, to gather and organize the resources needed to complete the project.

To superintend the completion of the project; eventually, to fill the skill shortages with my own ones when the required skills cannot be hired in schedule with the project.

To eventually lay down a training plan for the customer's employees, and to provide on-field training.

To manage the marketing policy of a small local bank, in a very dynamic and competitive environment. My activity in the field of Advertising management was various, ranging from the producing a briefing for an advertising agency that will build the final message up to the developing of a full range communication campaign, from the (financial) product concept to the graphical realization of the campaign related messages.

Research activity

My research activity begun with my graduation thesis on complexity science theory and its practical applications. Recently I developed an engine based upon very advanced genetic algorithms, capable to inference functions form raw data. The project has been developed in my current stream of works, and has been published under GPL. The home page of this project is http://geneticd.sf.net.

My most recent open source projects:

  • The Falcon Programming language: embeddable and stand-alone high level scripting language Falcon.
  • Wefts++: multiplatform isomorphic C++ multi-threading library on Source Forge.
  • Mxml and Mxml-plus: small and compact DOM-oriented XML C/C++ libraries on Source Forge
  • Cabal: Callback Balance networking library on Source Forge.

I am also a core developer at Xharbour, a language which extends the most famous business oriented language after COBOL: Clipper.

Goals and attitudes

My main interest is in finding out models of behavior and evolution, and/or innovating software to solve previously unsolved problems. I am inclined towards jobs that puts me in a research environment, both if those researches are meant as a tool to achieve a final result, or as a results by themselves.

Aside from research environments, my career goal is to be a well-known expert in IT science, managing a wide group of developers or founding my own consulting agency. I want to be on the technology frontier, and to write something that can outlive myself, be it relevant software or relevant set of IT related articles, manuals or researches.

Since I am creative, I would also be interested in jobs with a high component of creativity.

Languages

  • Italian: Professional
  • English: Professional
  • Japanese: Advanced
  • French: Intermediate
  • Chinese: Beginner

Hobbies

  • Translating from Japanese.
  • Writing (code, novels, manuals, anything that can be read back).
  • Playing Guitar, Piano
  • Gaming
  • Role playing games