Figura professionale: Software Architect, tech lead
Nome Cognome | : A. C. | Età | : 45 |
---|---|---|---|
Cellulare/Telefono | : Riservato! | : Riservato! | |
CV Allegato | : Riservato! | Categoria CV | : Project Manager/Architetto SW/ IT Manager |
Sede preferita | : Milano |
Accesso Full al database con 29.998 CV a partire da € 5,00 ABBONATI SUBITO!
Sommario
Esperienze
I am currently employed at The Nielsen Company as SW Architect and Tech Lead based in Milan, Italy, working with remote international scrum teams.
In the past 15 years, I’ve been working with Java EE, focused on developing web applications, then moved to API design and progressive web apps using microservice patterns and different backend technologies such as Java/Spring Boot, Python, NodeJS, all running as Docker containers into Kubernetes clusters.
My actual role is SW architect and Tech team lead.
I managed various developer teams, including international teams working on full Web stacks.
I have created the architecture of the API layer for several services developed by the company, with REST API and GraphQL API.
I am strongly focused on AWS cloud architecture and CI/CD delivery cycle with Jenkins/Bitbucket and Gitlab.
I also have such long experience in database and SQL design on many RDBMS such as Oracle, PostgreSQL, MS SQL and NoSQL like MongoDB, DynamoDB.
My experience includes all the activities related to software development and delivery: analyzing business requirements, converting them to system requirements, providing solutions using technical documentation, designing the architecture, assigning tasks to resources and applying agile methodologies such as Scrum Safe and LeSS.
I consider myself proactive and open, lover of technology in general and interested both in personal and professional growth.
Work experience
Dates June 2007 onwards
Name and address of employer The Nielsen Company, Milan
Type of business or sector Data Measurement / Market Research
Occupation or position held Software Architect, Tech Lead, Senior developer
Main activities and responsibilities January 2020 – ongoing
TV, Radio and Digital Tools for global market
As tech lead of the international AppDev teams, my role is contributing to the architecture design and implementation of unified APIs for accessing globally any Nielsen assets. Architecture is based on microservices and containerization technologies. The API is highly scalable, multi-tenant and multi-regions, cloud-native hosted on AWS provider and fully automatized with Gitlab CI/CD tools.
Interface to the clients, both public and private, is guaranteed by the API gateway though GraphQL standard; internal microservices communications is guaranteed by REST and/or gRPC.
Tech stack: Python (SQLAlchemy, Tartiflette, AsyncIO), Java (Spring Boot, JPA, Security, JAX-RS), NodeJS.
Tech stack infra: AWS, EKS kubernetes, MSK Kafka, CloudWatch, Cloudformation, Terraform, Helm Charts + Flux
Databases: PostgreSQL, MySQL, DynamoDB, AuroraDB
September 2019
iTAM Tools for international market
As tech lead of the international AppDev scrum teams, my role is to design the architecture for new PWA applications needed to manage the full workflow process required to produce audience data on a daily basis. The tools include many apps: Panelist App (mobile app and desktop/mobile website for panellists), Field Technician App (mobile app and desktop/mobile website for internal technicians and other stakeholders), Backoffice App (panel management, surveys, and recruitment), Data lake for analytics and quality control. The architecture will leverage a highly-scalable and performance-centric platform, AWS cloud specific and fully integrated with Gitlab CI/CD tools.
Tech stack: frontend React and React native; backend based on Java and Python microservices, API implemented using GraphQL query language, microservice communication based on gRPC and protobuf.
AWS tools: EKS, Lambda, Redshift, S3, Elasticsearch, route 53, data lake, RDS (PostgreSQL, MariaDB, DynamoDB), CloudWatch, Cloudformation
January 2019
iTAM Panelist Website (International Television Audience)
As tech lead of the international AppDev scrum teams, my role is to design the architecture of the new website, support both internal and outsourced development teams and coordinate stakeholders. The website has been first live in Norway https://no.panel.nielsen.com and suddenly to other countries. The website allows Panellist to receive/send communications from/to Nielsen, update demographics, visualize earned points and redeem gifts cards.
Stack: hybrid infrastructure based on AWS (Route55, EC2, EKS, MongoDB) consuming data from on-premises REST APIs implemented in Java, SpringBoot, JPA, PostgreSQL.
September 2018
New Web Configurator project
As tech lead of the international AppDev scrum team, my role is to design and support development for the new project. The tool must provide an abstraction layer over existing files and assets required by the daily rating process, and provide an easy and intuitive UI for editing and publishing configuration changes to any environment (dev/test/uat/prod).
Stack: SpringBoot Microservices, REST APIs, Angular Material, MongoDB, Docker, Docker Compose, Bitbucket, Ansible, AWX, ELK stack
June 2018
Devops migration project
As tech lead of the international AppDev scrum team, together with Ops team, my role is to define how to decouple from existing monolithic enterprise architecture to microservice architecture fully adopting Devops methodology.
Review and design the new web application for the full legacy enterprise process, apply CI/CD during development, UAT and production environments.
Stack: RHEL7, Docker/Compose, Nexus Repository OSS (for internal use) and ECR Repository as official artifactory for production, Jenkins, Bitbucket, Docker, Kubernetes, ELK stack.
January 2018
Web Panel Management project POC
As tech lead of the international AppDev scrum team, design the new web application for E2E management of the panel audience data (TV, digital, radio etc…).
The first analysis phase is the collection of requirements from stakeholders in a multi country environment (panel members, operation members, quality control members, technicians, etc.), definition of modules and functionalities (demographics information, channels, family performance, connected devices, appointments and notifications, and many others).
The scrum team consists of full-stack developers, UX expert and QA tester, working from offshore.
Agile sprints have 2-week duration, including technical spike stories and POC implementations for technical evaluations.
Stack: Java microservices (Gateway, Discovery based on Node.js, Query and Command based on CQRS and Event Sourcing), SpringBoot, RESTful API, SpringSecurity, SSO (OpenID, OAuth2), Angular Material, Jetty, Docker/Docker Compose, MongoDB, Nginx as reverse proxy.
January 2017
iVOD (International Video On Demand) project
Implementation of the global iVOD webapp for managing Video On Demand assets. The application users are the owners of video contents (broadcast, tv networks, etc…), they should be able to push any details using xml files from the UI or from the API.
Customizable UI based on user grants and authorization, different workflow according the status and availability of the assets, protected JSON REST for the API.
Stack: Java, SpringBoot, SpringRest, SpringSecurity, MyBatis, Angular+PrimeNG, Tomcat 8.5, PostgreSQL.
January 2016
Web AdHoc Tool
Design and implementation of web application for the International market
Adhoc analysis based on SQL queries over multiple operational and reporting databases.
Customizable UI based on user grants and authorization.
Secured JSON REST services in the backed.
Stack: SpringBoot, SpringMVC, Jersey, JPA, Sencha CMD + EXTJS, Tomcat8, PostgreSQL
September 2015
Analysis and development of System Monitoring Mobile TV Ratings for US market, inside an international team.
The System consists of many subprojects:
– MTVR Backend – web app containing all the API for accessing data, exposing services through WEB Services (Java, Spring, MyBatis, JAXWS, JSP)
– MTVR UI – frontend web app for user interface (Java, Spring, Sencha Touch)
– MTVR Broker – JMS broker for message exchanges through Tibco (Java, Spring, JSON, Tibco API)
– Survey System – third party tool powered by Confirmit embedded into MTVR UI
– ISM – Production System containing al the Panel list information based on Tibco queues for data exchange.
– Native Mobile Apps – available on Google Play and Apple Store for metering mobile devices.
Other technologies, frameworks and tools: Spring Tools, Maven, SVN, Oracle 11g and SQL Server as supported databases, Tomcat7 as Application Server and Tibco as ESB.
January 2014
Design and Implementation of extension to Offline support for existing projects FWS (Field Workspace) for setting appointments and Survey for running questionnaires and collecting answers in offline mode.
Offline Implementation using HTML5 features: Application Cache manifest, IndexedDb through gwt-indexeddb-wrapper and Local Storage for storing data locally.
Synch app for synchronize offline data to server and manage conflicts.
Google Chrome Frame for legacy unsupported browsers.
January 2013
Design and Implementation of extension to Offline support for existing projects FWS (Field Workspace) for setting appointments and Survey for running questionnaires and collecting answers in offline mode.
Offline Implementation using HTML5 features: Application Cache manifest, IndexedDb through gwt-indexeddb-wrapper and Local Storage for storing data locally.
Synch app for synchronize offline data to server and manage conflicts.
Google Chrome Frame for legacy unsupported browsers.
January 2011
FWS (Field Workspace) enterprise application
-Design, analysis and implementation of a Web Application for monitoring Panel data, manage technician appointments on the field and track information from families directly to the Production System.
-Management of international development team (up to 10 developers) made up of both local and remote resources (powered by Tata Consultancy Services).
-Architecture based on the Java platform J2EE, GWT (Google Web Toolkit), Sencha GXT for web interface, Sencha Calendar, Ext JS Scheduler, Spring, JPA, RPC, Jersey (REST), PostgreSQL as database.
– Implementation of POLLUXAPI (REST) for exposing services from Production System to FWS and vice versa – Python, PHP, Web.py, JSON, Apache.
January 2010
Survey enterprise application
-Design, analysis and implementation of an Enterprise Survey Application for modelling, creating and submitting questionnaires based on TV panel data.
-Architecture based on the Java platform J2EE, GWT (Google Web Toolkit), Sencha GXT for web interface, Spring, JPA, RPC, Lucene at the backend and PostgreSQL as database.
-Management of international development team (up to 10 developers) made up of both local and remote resources (powered by Tata Consultancy Services).
-Enterprise application consists of several modules:
· Survey Template Editor, drag & drop tool for creating questionnaires using base components (campaigns, pages, questions, options, loops, etc.)
· Data Mapping Editor, for question mapping of source/target databases for interviewees;
· Player, core component for submitting questionnaires and for collecting answers;
· CATI, Computer Assisted Telephone Interviewing;
· Validation Rule Engine, for validating answers against configurable validation rules (Apache Velocity)
· Results Exporter, for persisting and exporting answers to a target operational database;
· Full Text Search Engine, for indexing of campaigns and questionnaires (Lucene, JPA and
· Hibernate)
Dependency Injection, for communication with each module (Spring)
January 2009
CAM (Central Asset Management) project
-Design, analysis and implementation of a distributed Web Application for managing Nielsen assets (meters, equipment, etc…) and tracking their movements across countries and warehouses.
– Multi tier architecture based on the Java platform J2EE based on an Enterprise Service Bus
– Spring, Struts and Hibernate for the backend, PostgreSQL as database, Mule for the ESB.
– JSF, JSP, smartGWT and BIRT for the frontend application.
– Apache Tomcat7 and Apache HTTP as application/web servers
– Authentication/Authorization integrated with global Nielsen Single Sing On based on Active Directory
January 2008
-Analysis and development of the Integrated Business Intelligence Suite (IBIS) for Quality Control processes and investigations over TAM data.
-The platform architecture is based on multi-tier Java J2EE, Apache Tomcat as application servers, JPA/Hibernate for persistence, Spring and JAX-WS for middleware, CAS as Single Sign-On server and Ajax Framework (GWT) and MVP pattern for the front-end layer.
-The suite is composed by many modules:
· Reporting (BIRT, Eclipse-based open source reporting system);
· OLAP (Mondrian, open source multidimensional engine);
· Ad Hoc Querying;
· Presentation layer web-based;
· ETL Tools (Extract, Transform, Load) based on linux bash scripts and Postgres stored procedures (Pentaho Kettle, Talend Studio);
· Configuration tools (JSP, GWT, Apache Commons)
· Data Warehouse;
-The project management methodology is based on PERT/CPM and WBS for the classification of activities.
Dates September 2004 – June 2007
Name and address of employer Lynx SpA, Milan
Type of business or sector Software development
Occupation or position held Software Developer
Main activities and responsibilities January 2007 – June 2007
Analysis and development of Web Application for contract subscription for SKY Italy (www.abbonamento.sky.it).
The purpose of the application was to show all offers defined by marketing interfacing with the Siebel CRM system. It’s developed with Java J2SE compliant architecture, ajax and html for the GUI and Apache Axis as a web service to interface with Siebel CRM.
It was also implemented a backend tool to let the marketing autonomously configuring different promotions.
Sky srl, Milan
January 2006 – January 2007
Analysis and development of a broadband portal for the client SKY Italy (www.skylife.it).
The portal is divided into different applications including CMS for publishing content on the part of preparation, a streaming server for the publication of the video from TV channel Digital, a community for sharing photos, videos, articles and comments from users, a community for users club, a part of administration for managing your sky and the sections relating to channels (Cinema, Sports, Sky TG24 ..)
The technologies used during the development phase are as follows:
• for front-end JSP, JSTL, Struts, Spring, Tomcat on AS
• for the back-end EJB, Hibernate, AS Bea Weblogic 9 and Oracle 10g as DB Sever.
• Web services for integration services for account management and personal information subscriptions.
Sky srl, Milan
February 2006 – April 2006
Design and development of a web application for the management and tracking of incidents for banking customers.
Technology-based on Java J2EE, JBPM for workflow management, Hibernate as persistence layer, Bea Weblogic as application server and Microsoft SQLServer for database.
Citibank, Milan
Dates September 2004 – June 2007
Name and address of employer SISAL SpA, Milan
Type of business or sector Bet Agency
Occupation or position held Software Developer
Main activities and responsibilities Software developer of web applications for The main projects developed are https://www.bacheca.sisal.it/, a web application for the online sale of games systems (superenalotto, totocalcio, totip etc.), and http://www.ricevitoresisal.it, a web application for the management of all the activities related to SISAL betting.
Both projects are implemented using Java, Servlet, JSP, JSTL, XML and Oracle 9i as the database server and based on MVC (Model-View-Controller) pattern.
STUDI
Dates September 1998 – April 2004
Title of qualification awarded Master’s Degree in Computer Science passing grade of 108/110
Principal subjects/occupational skills covered Thesis Title: "Management of XML messages and the creation of the MAIS Logic Repository" inside the Mais project (Multichannel Adaptive Information Systems). The project involved the analysis, design and development of a prototype for a system of communication between different adaptive devices.
Technology based on JAVA SDK, J2ME, SWING, JBuilder, HQLDB, Tomcat.
Name and type of organisation providing education and training Università Statale di Milano – Bicocca
Level in national or international classification Master’s Degree
Dates September 1993 – July 1998
Title of qualification awarded Maturità scientifica
Name and type of organisation providing education and training Liceo Scientifico “G.Peano” – Cinisello Balsamo (MI)
Level in national or international classification High school
English C1
Computer skills and competences
Technologies and frameworks Java, J2EE, EJB, JSP, Servlet, C#, C++, .Net, RESTful API, SOAP Web Services, Hibernate, MyBatis, Spring, Spring Security, Struts, Stripes, HTML5, JSTL, XSLT, XML, XML/A, ANT, Gradle, Maven, GWT, Sencha GXT/ExtJS, Angular, Ajax, JSON, JPA, BIRT, Mondrian, JAAS, JBPM, Lucene, CAS, Mule, Tibco SOA, Velocity, Python, Bash Scripting, Perl
Application/Web Servers Nginx, Istio, Jetty, Undertow, Tomcat, Glassfish
Legacy: IBM WebSphere, Bea WebLogic, JBoss, Macromedia JRun, Apache HTTP Server, IIS Internet Information Services
CI/CD, Version Controls, SCM and Test Gitlab (git, registry, jobs, sast), Bitbucket/GIT, Mercurial, CVS, SVN, VSS, Jenkins, Jira, Bugzilla, Selenium, JMeter, LoadRunner, JUnit
Databases DynamoDB, Aurora, PostgreSQL, Oracle, MongoDB, MS SQL Server, MySQL, HSQL, DB2, Firebird
Development IDE Jetbrains suite, STS- Eclipse, Netbeans, IBM Websphere, JBuilder, Google App Engine
Operating Systems Windows, Linux (CentOs, RedHat, Ubuntu, Slackware), VMWare and Oracle VirtualBox
Project Management Agile methodologies (Scrum), Atlassian Jira, PERT, CPM, WBS, Gantt, MS Project
326 total views, 1 today