Sergio Moretti, Developer in Castel Maggiore, Metropolitan City of Bologna, Italy
Sergio is available for hire
Hire Sergio

Sergio Moretti

Software Developer

Castel Maggiore, Metropolitan City of Bologna, Italy

Toptal member since December 11, 2018

Bio

Sergio has over a dozen years of experience developing enterprise-level web applications with Java and RDBMS like Oracle, PostgreSQL, and MySQL. He has also expertise in Javascript and HTML related technology with the latest focus on the Angular framework. During his career, he has held almost all positions in the software development process, from software engineer and analyst to project manager and software architect.

Portfolio

Self-employed
Go, Angular, Flutter, SQL, Linux, PostgreSQL, Git...
Imola Informatica
Java, Spring Boot, PostgreSQL, Apache Kafka, Microservices Architecture...
WESTPOLE italia
Java, JavaScript, Docker, Docker Compose, PostgreSQL, SQL, Linux, JUnit, Git...

Experience

  • SQL - 15 years
  • Java - 15 years
  • Linux - 15 years
  • JavaScript - 12 years
  • PostgreSQL - 10 years
  • JPA - 10 years
  • Spring Boot - 3 years
  • Git - 3 years

Preferred Environment

Linux, Visual Studio Code (VS Code), Windows, Git, IntelliJ IDEA, Docker

The most amazing...

...project I've designed and built is an HTML template engine and its back-end user interface for a custom, in-house CMS.

Work Experience

Senior Software Engineer

2023 - PRESENT
Self-employed
  • Developed a photo management web application with a sophisticated sharing system.
  • Built a web application front-end using Flutter, connected to a REST-based back end.
  • Created a web application back end in Go, publishing a REST API.
  • Developed a web application with Next.js, implementing both back end and front end inside a single project.
  • Created GitLab CI/CD pipelines for Java, Node.js, and Go projects.
Technologies: Go, Angular, Flutter, SQL, Linux, PostgreSQL, Git, Object-oriented Programming (OOP), Gang of Four (GOF) Design Patterns, DevOps, Docker, Docker Compose, Bourne Shell, React, REST APIs, Next.js, GitLab CI/CD, GitLab Runner, SSH, Apache Maven

Senior Software Architect

2021 - 2023
Imola Informatica
  • Developed a Spring Boot Java microservices application for managing banking product information. Used SOAP for synchronous, Kafka for asynchronous communication; State persisted to PostgreSQL and integrated with Red Hat BPM using Apache Camel.
  • Analyzed application behavior using Dynatrace observability tools to identify design or performance issues.
  • Oversaw product deployment in test and production environments with Red Hat OpenShift.
  • Managed CI/CD pipelines for Java-based projects using Apache Maven.
  • Built a backend-for-frontend (BFF) Spring Boot Java application to pilot an Angular management console. Used SOAP to communicate with the service, publishing REST API using OpenAPI for the Angular front end.
  • Developed a management console in Angular, communication with BFF using REST API managed with OpenAPI.
Technologies: Java, Spring Boot, PostgreSQL, Apache Kafka, Microservices Architecture, Dynatrace, Apache Camel, Red Hat OpenShift, Red Hat BPM, SQL, Linux, Hibernate, JUnit, Spring, Git, Angular, Apache Maven, Object-oriented Programming (OOP), Gang of Four (GOF) Design Patterns, DevOps, Docker, Docker Compose, Bourne Shell, JPA, Microservices, Kubernetes, REST APIs, Swagger, CI/CD Pipelines, SSH, JDBC, SOAP APIs, OpenAPI

Senior Software Engineer

2019 - 2021
WESTPOLE italia
  • Developed a document filing service application for public agencies.
  • Developed a migration tool to import data from a previous document filing service.
  • Performed deployment of new application versions in test and production environments.
Technologies: Java, JavaScript, Docker, Docker Compose, PostgreSQL, SQL, Linux, JUnit, Git, Apache Maven, Object-oriented Programming (OOP), Gang of Four (GOF) Design Patterns, DevOps, JPA, Microservices, SSH, JDBC, REST APIs

Software Architect

2018 - 2018
CRIF Spa
  • Adapted an existing banking software product for a new customer.
  • Identified changes to existing software modules in order to meet new functional requirements.
  • Created a Spring Batch application, integrated in the customer's environment, for processing and analyzing a stream of data produced by an internal data warehouse.
  • Nurtured technical relationships with customers in order to collect and analyze technical specifications in collaboration with the internal functional analyst business unit.
  • Estimated the time for new software modules based on initial customer requirements.
  • Provided team leadership, coaching, and technical support for a mid-sized team of software developers.
Technologies: Oracle RDBMS, Spring, Java, SQL, Hibernate, JUnit, PostgreSQL, Spring Boot, Apache Maven, Object-oriented Programming (OOP), Gang of Four (GOF) Design Patterns, DevOps, JPA, SSH, JDBC, REST APIs

Senior Engineer

2013 - 2018
Gaming Laboratories International, Inc. – GLI Italy B.V.
  • Worked as the project manager in direct contact with international clients.
  • Maintained the projects in terms of billed hours and respect of the deadlines.
  • Lead the team including work assignments and support.
  • Estimated time and costs for new activities.
  • Reviewed the source code of customer's submitter source code in order to verify for product's compliance.
Technologies: Java, SQL, Gang of Four (GOF) Design Patterns, DevOps, SSH

Software Engineer/Architect

2008 - 2013
Gecod srl
  • Created enterprise-level web applications using Java and RDBMS like Oracle or PostgreSQL based on customers' requirements and specifications.
  • Created HTML template engine and its back-end user interface for a custom, in-house CMS.
  • Created modules for in-house CMS like Calendar, Messages Center, and Forum.
  • Set up and managed Linux-based servers running in-house IT systems and production environments.
  • Created web sites using OpenCMS technology.
  • Maintained the projects in terms of billed hours and respect of the deadline.
  • Collected and analyzed technical specifications and requirements.
  • Estimated time and costs for new activities based on the customer's initial requirements.
  • Provided team leadership, coaching, and technical support for a mid sized team of software developers.
Technologies: MySQL, jQuery, JavaScript, Java EE (Jakarta EE), RDBMS, PostgreSQL, Oracle RDBMS, Apache Struts, Java, SQL, Linux, Hibernate, JUnit, Bootstrap, Apache Tomcat, CSS, Apache Maven, Object-oriented Programming (OOP), Gang of Four (GOF) Design Patterns, DevOps, Bourne Shell, JPA, SSH, JDBC

Software Engineer/Architect

2001 - 2007
NSI Nier Soluzioni Informatiche Srl
  • Created a software for generation and representation of models regarding accidental phenomena at industrial sites using ESRI map visualization and manipulation components.
  • Created a web-based information system for Occupational Medicine management.
  • Integrated Microsoft CRM 3.0 into a customer's business system information system.
  • Created a web-based information system for Corporate privacy management.
  • Created a web-based system for clinical information management regarding osseus rare diseases.
  • Set up and maintained the production environment based on Linux RedHat Clusters running services Oracle DB 9i/10i, MySql DB, Apache Web Server, and Tomcat server.
Technologies: C#, PL/SQL, JavaScript, XSLT, XML, RDBMS, MySQL, Oracle RDBMS, Java, SQL, Linux, Hibernate, JUnit, C, PostgreSQL, Bootstrap, Apache Tomcat, CSS, C++, Object-oriented Programming (OOP), Gang of Four (GOF) Design Patterns, DevOps, Bourne Shell, SSH, JDBC

Experience

Angular Sudoku Game

https://sergiomoretti.info/sudoku/?utm_medium=email
During my Angular learning time, I built this Sudoku game. It’s pretty basic but fully working.

The source code is available in my GitHub repository.

Spring Boot/Angular Glee-o-meter

Glee-o-meter is a simple Angular 7 application focused on the interaction with a Spring REST server.

The data-centric application offers a basic user-management section, with the possibility to sign-in new users. Each user can manage a list of glee levels, each one associated with a date, time, and comment. There are three different roles:
• Admin: has full permissions on the whole data
• User manager: has permissions on user data
• User: has full permissions on owned data.

The application has the following features:
• Data access with pagination, sorting, ordering, and filtering
• CRUD operations on whole data
• Sign-in to permit the registration of new users
• Authentication based on oauth2 JWT, with a token refresh
• Consumes REST resources.

The server side is implemented with Spring boot, slightly customized to run on Google App Engine. Server implementation features the following:
• OAuth 2 JWT authentication with spring-boot, using grant types password and refresh token;
• Publish two authenticated REST resources /API/glee, /API/users and one public /API/sign in for user registration.
•Method-level authorization based on PreAuthorize and PostAuthorize.
•Spring-based JSR-349 data validation.

Trnsfr File Sharing Tool

https://sergiomoretti.info/portfolio/2019-01-trnsfr.html?utm_medium=email
It’s a Node.js web application that permits the creation of public links with a unique path in the form of /transfers/unique-id. Each link permits the download of a zipped content. The content is defined by a list of glob patterns applied to the server’s local file system. Moreover, it is possible to send one or more emails containing the link, along with a subject and a message body.

Education

1991 - 2000

Progress towards a Degree in Computer Engineering

University of Modena and Reggio Emilia - Italy

1983 - 1988

Diploma in Computer Science

Industrial Technical Institute F. Corni - Modena, Italy

Certifications

AUGUST 2023 - PRESENT

Machine Learning by Stanford University and DeepLearning.AI

Coursera

Skills

Libraries/APIs

REST APIs, JDBC, jQuery, Google Maps API, JAX-WS, Node.js, React, SOAP APIs, OpenAPI

Tools

Apache Maven, Git, Apache Tomcat, Docker Compose, IntelliJ IDEA, Gradle, Makefile, Dynatrace, GitLab CI/CD, GitLab Runner

Languages

SQL, Java, XML, JavaScript, C, Bourne Shell, XSLT, C++, Ruby, HTML, CSS, C#, Python, Go

Paradigms

Object-oriented Programming (OOP), Gang of Four (GOF) Design Patterns, DevOps, Microservices Architecture, Microservices, Concurrent Programming

Platforms

Linux, Apache Kafka, Docker, Windows, Java EE (Jakarta EE), JEE, Visual Studio Code (VS Code), Red Hat OpenShift, Kubernetes

Frameworks

Angular, Apache Struts, Hibernate, JPA, Bootstrap, JUnit, Spring Boot, Spring, Apache Camel, Flutter, Next.js, Swagger

Storage

Oracle RDBMS, RDBMS, PostgreSQL, MySQL, JSON, PL/SQL

Other

SSH, Red Hat BPM, Machine Learning, CI/CD Pipelines

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring