Figura professionale: Senior Software Engineer

Nome Cognome: F. M.Età: 58
Cellulare/Telefono: Riservato!E-mail: Riservato!
CV Allegato: Riservato!Categoria CV: Developer / Web dev. / Mobile dev.
Sede preferita: Roma

Accesso Full al database con 29.999 CV a partire da € 5,00    ABBONATI SUBITO!



Sommario

Senior Software Engineer

Esperienze

2015-to date: I am currently involved in the development of infrastructure components for the IBM Bluemix Cloud IBM platform. The activity is cross infrastructure and requires interacting with all IBM international teams that develop Bluemix services. It is necessary to rapidly learn new technologies and practices on many different software components, tools and languages. I work in a team (squad) of 15 very experienced software engineers using the Spotify method. We adopt the DevOps and Continuous Delivery philosophy. Now we are concentrated in designing and developing a global search and tagging engine for the future version of Bluemix. This sub-system will be responsible of collecting key-value properties for all resources of the entire worldwide IBM cloud platform, that is billiions of data!. We are developing a system that will be able to scale and perform under a huge amount of data and requests. We constantly interact with other international Bluemix teams to insert our architecture inside the new overall Bluemix system. I am responsible, together with the other squad members, to design, implement and then manage the entire component. We have chosen an architecture based on REST APIs micro-services that interact one each other through MessageHub (Kafka) queues and Cloudant dbs. Data are stored and searched on two Elasticsearch clusters. We already deployed a first version of this search engine and now we are fully concentrated in developing the second version with a series of new functionalities. In particular, I entirely redesigned and developed an high availability infrastructure to allow the whole engine to store/read its data into/from two indipendent Elasticsearch clusters placed in different geographical zones. My daily work consists mainly in developing new features. I have a total control of the overall development environment that consists of several Github repositories, libraries and external modules. The environment consists in several server side node.js apps doployed on Cloud Foundry (aka Bluemix). I program in Javascript/node.js, using all new functional programming techniques provided by the new Ecmascript6 version of the language. I constantly interact with Github for code versioning and Zenhub for tracking activities. All developed code is also automatically tested through proper test suites I develop in parallel with the mainstream code. We use the Mocha/Supertest/Should.js framework to develop our test cases and Trevis evnvironment to run automatically those test on the build pipeline. Being one of the senior people of the team, my role is also to coach young people. Before starting the current mission to develop the new search engine, we developed other products, the main of them are the following: • a proprietary javascript library for instrumenting each Bluemix service web GUI in order to collect user navigation data and store them into IBM Digital Analytics database. • a node.js tool for extracting and analyzing log data generated by every Bluemix services • a node.js tool for extracting sentiment analysis of twitter data generated by Bluemix services users. • A complete node.js/angular app for collecting and analyzing cloud providers billing data. The app exposes both a web GUI and a REST API layer and is able to connect to the three main cloud providers of the market: IBM SoftLayer, Amazon AWS and Microsoft Azure. Some of the key technologies I faced are Elasticsearch, Kafka/Message Hub, Git/GitHub Enterprise, Node.js/Angular, Jenkins, UI and server side Javascript, Bluemix, Amazon Web Services, Microsoft Azure, Cloudant db, etc.

2014-2015: I was involved in the development of a mobile app for an Italian customer, Hera Spa, a Energy/Utilities company. IBM proposed to this customer an entire solution in the mobility field, composed of hardware and middleware infrastructures and the very first mobile app designed and developed for a specific category of internal users. I was involved as technical leader and application architect. I followed the project from its very initial phase. My activities were designing the application framework, developing the code and coordinating other team members. The app, named “Giri d’ispezione”, was released to the customer in Summer 2015 with overall satisfaction. The key technologies I faced are IBM MobileFirst platform (aka Worklight), HTML5/Javascript/JQuery framework, REST and SOAP web services, iOS/Android/Windows Phone as target platforms, Rational Team Concert (RTC) as code management system.

2014: I was involved in L3 support activity for Banca Carige, an IBM customer who developed an Internet banking mobile application. Activity covered the support on the three mobile platforms, iOS, Android and Windows Phone. Key technologies I faced are IBM MobileFirst platform (aka Worklight), HTML5/Javascript/JQuery framework, REST and SOAP web services, iOS/Android/Windows Phone as target platforms, Rational Team Concert (RTC) as code and ticket management systems.

2014: I was involved in developing server side code components for the new mobile app for Wind Spa, an IBM customer. The entire project involved several people coming both from IBM and from other companies. So many interactions between groups occurred and the big challenge was to work under pressure and stringent timelines. Key technologies I faced were IBM MobileFirst Platform (aka Worklight), server side Javascript, REST and SOAP modeling with SOAPUI tool.

2012-2014: I was involved in a big IBM internal project named "Fusion". The aim of project was developing and maintaining of a myriad of code routines (named "fixlets") used for checking security on IBM customer servers. The overall infrastructure was based on the BigFix platform software, a recent IBM acquisition. In order to make a security check on a remote server, BigFix required developing several pieces of code, in different languages. The overall rules to be checked were enclosed in the IBM standard ITCS300. The challenges of the project were several. First of all, the Rome team, which I belong to, was requested to take charge the entire project that until then was conducted by foreign teams located in US and Poland. So a huge skill transfer was necessary. Then was requested to all team to adopt the agile method and work on a 4-week sprint basis. The number of fixlets to update, develop and test was also huge. Moreover, with time was requested also the upgrade the entire platform and software framework. The key technologies I faced are the BigFix software as delivery platform and as developing system (with proprietary languages named Relevance and ActionScript). It was necessary also to deeply know the Unix OS in all different platforms (Linux, AIX, HP-UX, Solaris, etc.) and Windows. Shell script programming, ANT build system, Rational Team Concert (RTC), Eclipse, and many other tools and languages complete the picture.

2012: I was involved in the developing of the new webUI for the IBM Business Media Share (BMS) solution software (formerly known as Nica). The project required a complete redesign of the web UI following the new emerging technologies. In particular I faced the HTML5/CSS/Javascript stack, jQuery, JQuery UI, MVC and Bootstrap libraries, implementation of RESTful web services in JAX-RS.

2010-2011: I took a 15-months sabbatical period during which I deeply explored the iOS mobile programming. In that period I deeply worked on my own project of development of a personal CRM app. That app, initially created two years earlier, reached in this period the top positions in Italian rankings and became (and still now is) one of the most popular personal CRM app on the App Store. The key technologies I faced are iOS operating system, Xcode development environment, iOS SDK and API programming, Objective-C programming language, Dropbox, Google, CorePlot and other external libraries.

2010: I was involved in the project of enhancing the webUI of the IBM Nica solution software. This webUI, initially developed in J2EE with a large use of applets, was re-created using newer web technologies. In particular, the technologies I faced are Java, JavaServer Faces and PrimeFaces.

2009-2010: I was involved in some little projects using FileNet product as Document Asset Management (DAM). FileNet was a recent IBM acquisition and it was necessary that some people acquired good skills on it as soon as possible in order to be able to offer complete support of existing customers. The key technology I faced is FileNet programming.

2008: In this period Apple released its first version of iOS SDK. I was the first person in the Rome IBM laboratory in acquiring skills on it and I created from scratch the first prototype of a mobile client for the IBM Nica solution software. The key technologies I faced are the first iOS SDK, C/Objective-C programming languages, Xcode development environment, Objective-C++ Bridge.

2007: I was involved in a software porting activity as Mac OS X expert. The software to be ported was the agent component of the Tivoli Endpoint Manager (TEM), an IBM product used to manage big server networks. The agent component was initially developed in C/C++ for the most popular Unix platforms. My role was to adapt that source code to the Mac OS X platform in order to best catch all aspects and peculiarities of that operating system. The key technologies I faced are cocoa/objective-C programming, Mac OS X system package management.

2003-2006: During this period I stably worked on the development of the IBM Nica solution software. This was a software entirely designed and developed in IBM Italy. I was member of the team responsible for the native client component. Nica was (and still is) a very powerful digital asset management system (DAM) used by many international editorial organizations. My role was to participate in designing and developing of new features, make L3 support/maintenance of the product and be the focal point for all questions about Mac OS X platform. The key technologies I faced are: C/C++ development (in a huge code base on Windows and Mac platforms; more than a half million of LOC); various IDE’s like Windows Studio, Metrowerks Codewarrior, Apple Xcode; various Code management Systems like IBM CMVC, Rational Team Concert, CVS; usage and extension of wxWidgets library (formerly known as wxWindows). After this period, I continued for several years to occasionally make L3 support/maintenance.

2001-2002: I was involved in a project for Poste Italiane Spa, an IBM customer as database administrator (DBA). The key technologies I faced are Oracle Enterprise administration, SQL and PL/SQL programming, backup and recovery strategies.

2001: I was involved in a new team whose mission was to acquire high skills in Siebel CRM platform. After some months of deep studies ended with the official Siebel certification, I participate to some internal projects and bids. The Key technologies I faced are Siebel programming and Siebel system management.

2000: I entered in IBM. The first months were dedicated to training on several technologies like DNS/BIND configuration, Java programming, J2EE and Websphere. I actively participated in DNS configuration of the intranet for Banca Fideuram project, an IBM customer.

1998-2000: I entered in MCS Europe, a Telespazio Spa company as Network System Specialist. My role was to design and maintain the terrestrial communication network used for the Orbcomm messages coming from satellites. I was also involved in the design and realization of the new office LAN. The key technologies I faced are ISO/OSI stack protocol, Ethernet switched LANs and VLANs, TCP/IP networking and routing protocols, DNS and monitoring systems configurations, SMTP protocol, Allied Telesyn router configuration and management.

1998: I entered in Advanced Computer System Srl, an high tech company involved in numerous projects for ESA, the European Space Agency. I was involved in a project that required to interpret and catalog the huge flow of messages coming from the Envisat Satellite. Key technologies I faced are Java programming, MS SQL server, Unix administration.

1996-1997: I entered in ISED Spa as developer. I was involved in a project of development of a new software for optimizing the work of cash desk operators of a customer. Key technologies I faced are client/server programming, Object Oriented Programming, Sybase Powerbuilder, Entity/Relationships modeling and SQL programming.

1995-1996: I attended the Master in Business Administration at Luiss – Guido Carli management school, thanks to a Finmeccanica scholarship. At the end of the course I carried out a project work at Alenia Difesa spa (a Finmeccanica company) where I studied in detail the evaluation of investments with the options method.

1995: I worked in Alenia Difesa Sistemi Navali (AESN) as man-power person provided by Progesi Srl. I was involved in analyzing command & controls tracking algorithms related to the development of a new type of radar. I ideated a new approach in mathematical closed form for the impact determination between a missile and its target and developed the corresponding code in ADA language on a VAX system. Key technologies I faced are concurrent programming in ADA, VAX system management.

1994: I did a 3 months stage at Saritel SpA, a Telecom Italia company where I was involved in developing new procedures for data migration and aggregation using the SAS software on a 3090 IBM mainframe. Key technologies I faced are SAS programming language, IBM 3090 mainframe terminal interaction.

Professional Skills & Competencies • Analysis, design and development of software, from customer needs to final source code • Development platforms: Cloud IBM Bluemix, native iOS / Mac OS X / Unix / Windows, HTML5/Ajax • Development environments: WebStorm, Xcode, Eclipse, Visual Studio • Languages: JavaScript Ecmascript6, Objective-C/Swift, C/C++, Java, PERL, Unix Shell, AWK, Relevance/Action Script, ANT, SQL, VBA, Fortran, Pascal, ADA, etc. • Programming paradigms: Functional , Object Oriented, Procedural • SDK/Frameworks: Node.js/npm, iOS/Mac SDK, wxWidgets, jQuery, jQuery Mobile, J2EE, Angular • Architectures: cloud, native/mobile, client/server, three tier, SOA/web/REST services, ajax • Code management and version control tools: Git, GitHub Enterprise, CMVC, Rational Team Concert/Jazz, CVS • Test automation frameworks: Mocha, Supertest, Should.js, Protractor • Methodologies: Agile, Waterfall, Spotify • Products : Elasticsearch, Jenkins, IBM MobileFirst (Worklight), BigFix , FileNet, NICA, Siebel, etc. • DB administration and programming: Oracle, PostgreSQL, SQLlite, Cloudant/CouchDB • Scientific environments: Mathworks Matlab & Simulink

 

104 total views, 1 today