Skip to main content.

Giancarlo Niccolai

Resume


A picture of mine.

This curriculum is built up with sections that describe my personal data, my skills, my personal attitudes, and finally my hobbies.

You can get an in-depth of some topic following the hyperlinks; this is meant to spare your downloading time, preventing you to waste it with data that could be uninteresting, and to keep this page compact:


Generic personal data

First Name: Giancarlo
Last Name: Niccolai
Date of Birth: January the 6th, 1974
Place of Birth: Pistoia, Italy
Civil Status: Coupled
High school degree: Information Technology, 58 over 60, in July of 1993.
University degree: Economics, 104 over 110, earned at Bocconi Commercial University, Milan in March of 1998.
Graduation Thesis: Complex Systems Analysis in the firm reality - A normative and predictive model based upon the complexity science theory. Earned 8+1 over 8. See thesis abstract
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.
Current job: Since 2005, senior IT consultant and architect for a relevant Italian software development company. My current occupation is to design and realize middleware application interfacing financial market and driving real-time financial negotiation software.
Known languages: Italian: perfect.
English: master level.
Japanese: high level.
French: survival level.
Chinese: currently learning.

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 needs.
  • 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 (http://www.falconpl.org).
  • Wefts++: multiplatform isomorphic C++ multi-threading library (http://wefts.sf.net).
  • Mxml and Mxml-plus: small and compact DOM-oriented XML C/C++ libraries (http://mxml.sf.net).
  • Cabal: Callback Balance networking library (http://cabal-net.sf.net).
  • Pcre-plus: C++ porting of the famous PCRE, Perl-compatible regular expression library.
  • Loglib: Conceptually advanced logging facility library.
  • I am also a core developer at http://www.xharbour.org, 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.

About moving, I have no preferred destinations. I am not inclined toward jobs which involve very frequent physical transfers (i.e. Junior business consultant), but I have no trouble in settling for a long period of time in any part of the world (2-5 years).

To explain the most evident aspects of my personality, I'd like to report my good qualities (in order of importance to me):

  • Analytic oriented: the deep problem analysis I am used to apply in my job is derived from my analytic way to cope with everyday life.
  • Perseverance: I never give up ...
  • Patience: ... and I calmly, but fiercely, follow the target until I get it.
  • Respect: I respect every idea, especially when it's different from my own ones, because (but not only) variety is energy. I never judge anyone (unless forced to by my job duties), because to judge a person, one should know every instant of his or her life, and that wouldn't be enough.
  • Good Humor: I can (almost) always find a good reason to smile.
  • Sympathy: since I respect them, and I have always a good reason to smile, people find me pleasant.

Hobbies

  • Translating from Japanese.
  • Writing (code, novels, manuals, anything that can be read back).
  • Music
  • Role playing
  • Programming and/or computer graphics