Sviluppatore Java Senior Pistoia, PT, Italia

Può essere disponibile

(Aggiornato% updatedDate%)

Sviluppatore Java Senior

Pistoia, PT, Italia

Nativo Italian, Intermedio English

  • Angular 2+, Typescript, Css, Scss
  • Senior Java developer, Software architect
  • Java, Spring, DB relazionali, DB noSql, JPA,

Competenze (24)

Java

SERVLET

JSP

JNI

Apache Camel

Hibernate

J2EE

Eclipselink

Angular 8

Git

HTML

Spring

JMS

TypeScript

DOZER

Jenkins

JavaScript

Flask

Python

NEXUS

scss

Subversion

CSS

OPENCV

Esperienze professionali

Occupation Software Architect

2016-03 - Presente

Main activities and responsibilities
Create Solution Architecture
Modularized the complete project into various components to make easier development.
Design the application layers
Provided technical solutions for the team.
Helping the team during coding and testing phase and coaching for new developers

Short description Working on a modular application an enterprise and business critical software which is divided in: bus layer, to interconnect different data source and expose the information in a unique way, and middleware layer which
based on the bus layer to apply additional business logic.

Main patterns JMS, WebService Rest/SOAP, IoC
Main tools
Apache Camel: used for routing and built in endpoint.
ActiveMq: a JMS implementation
Apache Cxf: used for web services soap and restful (through jaxrs)
Oauth2: used for authorization on the web service API
Dozer mapper: to perform object to object mapping
Spring ioc: used as middleware and integrate the other frameworks.
Maven: to compile, resolve dependencies, and deploy the application
Nexus: a maven repository.
JPA (Eclipse link and Hibernate implementation): to access various databases (sqlserver, sybase, oracle)
Jenkins: Pipelines to build applications, update jar versions and execute Junit tests. It is not used to restart the service automatically.


Name and address of employer
Arcaspark s.r.l.
Headquartes
Via Carlo Crivelli, 14
20122 Milano (MI)
Italy
Mail: info@arcaspark.com
ActiveMq

2018-11 - 2019-07

Short Description A price tracker comparison website that compare 15 different ecommerce. Aggregate the results and show the best price found
Main tools Backend:
- ActiveMq: a JMS implementation
- Google Protobuf: a serialization mechanism developed by Google. It use an interface description
language to define the structure of data. Used to serialize and deserialize messages thought ActiveMQ,
and define public functions.
- JPA (Eclipselink implementation): to access the underling Postgress DB
- Spring Boot:
- Apache Tomcat 8.5:
- Dozer mapper: to perform object to object mapping
- Maven: to compile, resolve dependencies, and deploy the application
Architecture:
Event based microservice architecture:
- every service has its own database and communicate each other using a bus (by event or public functionalities).
- services communicate each other using events. Some services expose some public functionalities,
such functionalities are defined using Protobuf service and use a queue on a bus to request the functionality and get the response.
- front end app and mobile app use restful apis on an API Gateway application.
- one application for each third-party ecommerce. Every ecommerce has its own mechanism to expose
data (usually rss or rest apis). When a new price is detected of an item the application publish a new
price event on a bus (that contains information about item, price and ecommerce)
- the bus maintains the event in a persistent topic
- another application listens new price events and update the current price and the history of prices
for
that specific item.


Frontend:
- Angular 7 with CLI: used to develop the desktop application.
- Typescript 3: used by Angular to develop components for UI.

Mobile:
- Flutter 1.5: used to develop mobile apps for Android and IOS application. The framework uses Dart
language.


Mother tongue Italian
Other language English
Self-assessment Understanding Speaking Writing
European level (*) Listening Reading Spoken interaction Spoken production Writing skills
Upper Upper Upper
English intermediate intermediate intermediate intermediate intermediate

(*) Common European Framework of Reference for Languages


Technical skills and competences • Programming language:
Advanced:
Java
Intermediate:
C++, typescript

• Environment and OS
on x64 bit architecture: Windows and Linux (Debian derivatives)
on arm: Linux (Debian derivatives)
• Databases:
Oracle 11, SQLServer, Postgres 11, MySQL
• Frameworks:
Advanced: Hibernate, Eclipse link, Apache Camel, Apache CXF, Spring IoC, Spring Webflow , OAuth2, Apache
Camel, Apache CXF, JPA, Elasticsearch (with Kibana)
Intermediate: Spring state machine, MyBatis

• Servlet containers:
Apache Tomcat 8

• Version Control
Professional: Git, Subversion

• Tools:
Eclipse, IntelliJ 18
• Design:
UML

• Architectural Pattern:
Microservice application, SOA.

• Design Pattern:
GoF pattern (Visitors, proxy, façade, Observer, Composite, Adapter etc.). Prototype, Factory, Lazy init, Repository,
DTO, DAO, MVC, Reactor pattern.
Software Achitect

2016-01 - 2016-03

Occupation or position held Software Achitect
Main activities and responsibilities
Development an application for Autostrade per l'Italia s.p.a.: architecture, design and implementation a web
based Java application, in 2 months.

Main tools Spring mvc, Spring webflow, webservice rest, JasperReport, IBM DB2 database.
Main IDE: eclipse juno

Name and address of employer RJC Soft s.r.l
Headquartes
Via di Gello, 17,
56123 Pisa (PI)
Italy
Tel: (+39) 050 554400
analyst developer

2015-04 - 2015-12

Main activities and responsibilities Application analysis and developing, using C/C++, on embedded Linux system, for grabbing local data from various kind of sensor and post-processing on a central server for checking and visualization.
Develop Android applications for short report on mobile devices.
Main tools Flow charts and Class diagrams for functional and technical analysis.
C/C++ (99/11) on embedded Linux system with restricted hardware resources, and on Android to execute native
code.
SQLite on embedded Linux system.
Java JNI to execute native code on mobile devices and get results in Java.
Java 6 on Android for user interface and further processing.
Development tools used: text editor with Makefile for small projects or fast prototyping, Eclipse for bigger projects and developing.
HTML and javascript for creating user interfaces.

Name and address of employer Generale Sistemi s.r.l.
Headquarters
Via Fra i campi, 13/C
59100 Galciana (PO)
Italy
Tel: (+39) 0574 816434


Dates January 2013 to April 2015
Occupation or position held Software development
Main activities and responsibilities Development, maintenance and bug fixing on web application written in Java (J2EE).
Software composed more than 9.000 source files for managing every aspect of waste management:
tracking, managing, printing law documents (waste transfer note, annual document to send to public administrations, and so on), invoicing of services (such as transport service, disposing service etc.).

Main tools Written in Java 6
Hibernate for managing the underlying database, JasperReport library for creating pdf and excel documents, JSP,
Servlet and web services to expose some features to other applications.
Underlying database were: Oracle 11 and SQLserver.
Name and address of employer After April 2014 (To change firm's name) Before April 2014
Euroinformatica s.r.l. Ambiente.it s.r.l.
Headquarters Headquarters
Via Traversa del Beccarello, 4 Via Traversa del Beccarello, 4
59100 Prato Italy 59100 Prato Italy
Tel: (+39) 0574 527811 Tel: (+39) 0574 527811

Private Projects and Studies
PayPal integration

2013-05 - 2013-07

Short Description Web-learning site: A web learning web site for learning various kinds of subjects taught by external teachers.
Some important features were: registration and login of users and teachers, PayPal integration for paying,
inserting, updating and deleting lessons. After one year the project was closed due to a weak market strategy.
Main tools and skills Java2EE, Hibernate, MySql, JSP, servlet, PayPal API.

Esperienze formative

European School
European School

2015-04 - 2016-09

Master degree

2014-09 - 2015-03

M.S. in computer engineering
University of Bologna

2012-12 - 2015-03

B.S. in computer engineering
University of Bologna

2008-09 - 2012-12

Contatta il consulente

/