Flavio Pezzini, Software Developer in Porto, Portugal
Flavio Pezzini

Software Developer in Porto, Portugal

Member since July 17, 2017
Flavio is a senior Java architect and team leader who's worked on complex projects for several multinational, multicultural companies such as Dell, IBM, Ernst Young, Optiva, and Deutsche Bank. He's worked in various industries such as banking, telecom, eCommerce, travel, and sports management. Flavio shines in liaising with multiple teams, mediating conflicts, and mentoring professionals on long-term, full-time engagements.
Flavio is now available for hire

Portfolio

Experience

Location

Porto, Portugal

Availability

Part-time

Preferred Environment

VS Code, IntelliJ, Git, MacOS

The most amazing...

...project I’ve worked on is providing support and maintenance for six applications with millions of lines of code and extremely complex business transactions.

Employment

  • Java Architect

    2021 - 2022
    GrowthDay
    • Vastly improved the application's security by identifying gaps in the infrastructure set up.
    • Added code validations following the ideas from secure by design to ensure the security of the data from the application.
    • Extracted a microservice to handle all the notifications sent through OneSignal to offload the main server.
    • Created features with high quality software using TDD and SOLID principles in a fast paced environment.
    Technologies: Java, Spring, MongoDB, AWS, Amazon SQS, Software Development, JUnit, Mockito, Maven, API Architecture, API Design, REST APIs, REST, Linux, Architecture, Kotlin, JSON, Software Architecture
  • Java Architect

    2020 - 2021
    Superior Consulting Services - Ralf Lüttgen
    • Created a REST service to use an existing list of back-end beans that stored information about a telecom company infrastructure. Added integration tests using REST Assured.
    • Developed migration services to pull data from legacy systems and transform them before storing them into the new system.
    • Created a SOAP service to use an existing list of back-end beans that stored information about the company infrastructure and added integration tests using SoapUI.
    Technologies: REST Assured, Git, Postman, SoapUI, SOAP, Oracle, Java EE 7, JMS, JPA, Hibernate, WildFly, Java
  • Java Architect

    2020 - 2020
    IMFyi
    • Recovered the source code from a WAR file (decompiler), added back all the Java generics lost during compilation, figured out all the necessary dependencies, and generated a proper pom.xml file with all of the correct versions.
    • Fixed a nasty concurrency issue in production that was causing timeouts and essentially crashing the site every 15 minutes. This put the site back in business and allowed them to have more clients accessing the site simultaneously.
    • Solved massive performance issues with pagination in certain pages on the UI—pages that took 8-10 seconds to load started loading instantaneously.
    • Generated a list of recommendations and architectural plans in order to move the application to a more modern platform.
    • Set up the application locally and generated a comprehensive guide for future developers on setting up their environments.
    Technologies: Git, Jira, PostgreSQL, JMS, PubNub, JSF, Java EE, JBoss
  • Senior Java Developer

    2019 - 2020
    Tremor
    • Developed features to add to the auctioning platform.
    • Hunted down and patched bugs by creating the necessary unit tests to demonstrate the bug's existence and then fixing them.
    • Refactored portions of the code to be safer, more performant, and more precise, following the industry-wide guidelines and also the recommendations from SonarQube.
    • Created a layer of abstraction on top of AWS services so that it would be possible to test the application locally without hitting AWS quotas when testing portions of the system that didn't require AWS.
    Technologies: JOOQ, Git, PostgreSQL, Spring Security, Spring Boot
  • Senior Java Developer

    2018 - 2018
    Ernst & Young
    • Contributed to a three-month-long project to provide secure storage of files for client applications.
    • Implemented Spring Security to authenticate users via SSO and basic authentication.
    • Stored the file metadata using Spring Data, initially transitioning to MySQL then moving to PostgreSQL.
    • Refactored the source code to bring it up to standards.
    • Implemented new endpoints and made adjustments to existing REST endpoints.
    • Tested using both unit tests and JMeter for performance assessment.
    Technologies: Spring Boot, Spring Data, PostgreSQL, Spring Security, Docker, Java
  • Chief Java Architect

    2017 - 2018
    Optiva
    • Troubleshot and fixed the most difficult issues assigned to the team.
    • Designed and implemented code changes to the applications following the latest code-quality recommendations.
    • Built a root cause analysis for production crashes and slowness issues, including heap dump, garbage collector logs, thread dump, log analysis, and VM tuning.
    • Created solution architectures, algorithms, and designs for solutions that scale to the customer's enterprise and their global requirements.
    • Developed my expertise in one or more of the customer's proprietary enterprise software products.
    Technologies: SoapUI, SOAP, CSV File Processing, Apache Kafka, ActiveMQ, Java EE 7, Git, Web Services, Java, JVM
  • Senior Java Developer

    2014 - 2017
    PrestoSports
    • Built a Java web system responsible for collecting data about collegiate sports teams in the US and Canada.
    • Developed new features such as a user interface to allow users to automatically watch sports seasons into the next year.
    • Addressed existing bugs, not merely fixing the bug itself but finding the root cause and applying the definitive fix.
    • Fixed critical production issues by identifying the root cause and creating plans to avoid the problem in the future.
    • Contributed to peer reviews and solution-brainstorming meetings for my team and other teams as well.
    • Refactored code to address new needs; for instance, an overhaul of several system modules to upgrade the TinyMCE framework to the latest version. This included processing and sanitizing embedded videos (both hosted and from YouTube).
    Technologies: Git, Eclipse, Jira, Apache Velocity, HTML5, CSS, Bootstrap, jQuery, MySQL, Hibernate, GWT, JSTL, JSP, Spring, Java, JavaServer Pages (JSP)
  • Java Support Engineer

    2013 - 2014
    IBM
    • Created usage and health reports based on various log files using shell scripts and Java for a large (20,000+ users) project-management system.
    • Monitored system health by checking RAM, CPU, and disk usage.
    • Took part in the deployment processes executing all the Linux and database steps and ensuring that the other professionals did their part on time according to the overall plan.
    • Offered system health and production feedback to the main development team so that they could improve the application.
    Technologies: Shell Scripting, Java
  • Senior Java Developer | Team Leader

    2012 - 2013
    Freelance
    • Developed Java back-end systems for the Malaysian government responsible for providing various permits.
    • Recruited professionals to complete various website-building projects.
    • Managed professionals related to project website building, including features to a website, a whole website redesign, translations, and more.
    • Developed an onboarding wizard that allowed a company to record information and images of new customers into their system.
    • Conducted peer code reviews of junior colleagues providing detailed feedback.
    Technologies: jQuery, CSS, HTML5, JavaScript, Java
  • Project Manager

    2011 - 2011
    TAM
    • Managed TAM's (the largest Brazilian airline) back-end systems in the travel industry. These systems are connected to Amadeus (one of the largest tourism software companies) and other third-party systems.
    • Ensured that the projects were delivered on time and were feature complete.
    • Communicated with all the teams at TAM, Amadeus, and third-party contractors.
    • Produced project plans and updated them accordingly.
    • Provided daily status reports to the upper management.
    Technologies: Amadeus, Microsoft Project
  • Project Manager

    2010 - 2011
    CPMBraxis (via Bradesco Bank)
    • Managed a team of 15 analysts and developers working on six projects using Java and mainframe (COBOL) technologies for the banking industry.
    • Interviewed candidates for the various positions available.
    • Updated MS Project files according to the latest changes in the project execution.
    • Took part in requirements gathering and clarification meetings.
    • Mentored professionals towards improving their careers.
    • Acted as a mediator during conflicts, looking to find a compromise between the various stakeholders.
    Technologies: COBOL, Java, Microsoft Project
  • Support Analyst Level 2

    2009 - 2010
    Dell
    • Led and managed bridge conferences towards a quick resolution of high severity issues–such as when Dell.com's website went down. It was about recruiting to the call all the necessary human resources and drive the issue to resolution.
    • Updated the documentation and executed a root cause analysis afterward.
    • Drove the resolution of lower severity issues, including being the point of contact between business areas and the development teams–taking full responsibility for the issue until it got resolved.
    • Produced trend analyses of the production incidents to provide feedback to development teams.
    • Trained professionals on the applications involved in the online store.
    Technologies: Cross-departmental Collaboration
  • Team Leader

    2007 - 2008
    Compasso (via Sicredi Bank)
    • Managed a team of business analysts, technical analysts, and developers on integration projects between the legacy ERP and the new ERP using Oracle ODI.
    • Worked as an interpreter between the subject matter experts from the Indian ERP company and the local analysts that only spoke Portuguese.
    • Distributed tasks to the analysts and developers and followed up towards resolution.
    • Led daily standup meetings towards keeping everybody up to date with the latest from the project.
    Technologies: PMBOK, Oracle ODI
  • Team Leader

    2006 - 2007
    CPMBraxis (via Deutsche Bank)
    • Led a team working on auditing/reporting Deutsche Bank UK projects. I was also responsible for providing third-level support to an auditing application, which ensured that the data produced by a number of applications were correct.
    • Reported status updates to the upper management weekly.
    • Mentored professionals towards improving their careers.
    • Implemented pre-sales processes and participated in those pre-sale events.
    • Interviewed candidates looking to find top-notch talent for the projects.
    Technologies: Java, Visual SourceSafe, Unix, Visual Basic, PowerBuilder, Oracle, Microsoft SQL Server, Sybase
  • Senior Java Developer

    2004 - 2005
    Dell
    • Worked as a Java developer on the application responsible for communication with vendors on the software and peripherals store at Dell.com.
    • Wrote modules to produce sales reports using JDBC queries and exporting to CSV files.
    • Built XML parsing modules necessary to provide additional features to the vendors that had their ERPs connecting to our application.
    • Worked on requirement clarification processes with the US team.
    • Helped improve the logging of the application, producing more detailed data.
    Technologies: Harvest, Oracle, JSP, Jakarta EE, Java
  • Java and COBOL Developer

    2001 - 2004
    CPM Braxis Capgemini (via Bradesco Bank)
    • Developed COBOL modules for the banking industry. These modules ranged from reports to data processing modules that would read data from either text files or Db2 databases and produce output files with the updated data.
    • Developed servlets that interacted with the COBOL modules and displayed data in JSPs.
    • Tested the integrations between the COBOL and Java parts of the framework.
    • Conducted software peer reviews of my colleagues, providing objective feedback on their work.
    • Helped setup version control so that the team could be more productive.
    Technologies: CVS, Apache Tomcat, Eclipse, IBM Db2, TELON, Multimedia, COBOL, Jakarta EE

Experience

  • Shopping Budget — Variation of Knapsack
    https://github.com/flaviopezzini/shoppingbudget-permutation/

    Problem Description:
    Molly wants to buy laptops for her school, and I use Java to determine how many laptops she can purchase by comparing the vendors available. Each vendor sells the laptops in batches, with a quantity identifying how many laptops are in each batch, the price for the whole batch, and the parameters determining which laptop batches Molly should purchase for her school based on the available batch size and price.

    I developed a Java-based solution that required permutation and dynamic programming. It involved a variation of the common knapsack 0/1 solution.

    Sample input: 50 [20,19] [24,20]
    • Molly has 50 dollars to spend.
    • The first vendor has 20 laptops per batch, and each batch costs 24 dollars.
    • The second vendor has 19 laptops per batch, and each batch costs 20 dollars.

    The possible answers are 40 and 38.

    If she buys from the first vendor, she will spend 48 dollars (24*2), and since she's buying two batches, the total quantity is 40 (20*2). However, if she buys from the second vendor, the maximum amount would be 38 since each batch has 19 laptops, and she'd run out of money after the second batch.

    The final answer is then 40 since 40 is higher than 38.

  • Strava App to Format the Athlete Weekly to Copy/Paste to an Internet Forum
    https://github.com/flaviopezzini/stravaweekly

    A Spring application that uses OAuth2 to connect to Strava using the Athlete's credentials and pulls the latest week of exercises and formats it nicely so it can be posted on internet discussion boards.

  • Comparing Poker Hands in Rust
    https://github.com/flaviopezzini/rust-poker-hand

    A Rust program to compare Poker Hands using all the poker rules; for instance, a pair is stronger than a high card, a flush is stronger than a pair, and so on.
    It served as a starting point in my track towards learning Rust.

  • 7 Debugging Techniques To Speed Up Troubleshooting in Production (Publication)
    Providing production support to an application is one of the most challenging aspects of software development. In this article, Toptal Freelance Java Developer Flavio Pezzini shows us techniques that can prevent bugs and make finding issues in production much faster.
  • The Developer Resume Is Dead: Long Live the Portfolio (Publication)
    Have you been googling articles on how to build an outstanding developer resume? Stop right now. It's a waste of time! Cover letter? That's a waste as well.

Skills

  • Languages

    Java, COBOL, Java EE 7, Java EE 8, WSDL, HTML5, JavaScript, TypeScript, Kotlin, PowerBuilder, CSS, Rust, SQL
  • Frameworks

    JSP, JPA, Spring, JavaServer Pages (JSP), Spring Security, Spring Boot, JUnit, Bootstrap, Angular, Hibernate, Mockito, OAuth 2, JSF, Apache Velocity
  • Libraries/APIs

    REST APIs, Spring REST, Jackson, jQuery, JOOQ, JSTL, PubNub, JMS
  • Tools

    Maven, Git, IntelliJ, Postman, Jira, SonarQube, AWS Push Notification Service (AWS SNS), VS Code, TELON, Apache Tomcat, Microsoft Project, WildFly, SoapUI, REST Assured, ActiveMQ, Amazon SQS, Terraform
  • Paradigms

    REST, API Architecture, Agile Software Development, Microservices
  • Platforms

    Jakarta EE, Unix, Java EE, Visual Studio Code, Docker, Linux, Amazon Web Services (AWS), MacOS, JBoss, Apache Kafka, Oracle, JVM
  • Storage

    Spring Data, Spring Data REST, MySQL, PostgreSQL, Microsoft SQL Server, JSON, Sybase, IBM Db2, Amazon S3 (AWS S3), MongoDB
  • Other

    API Design, Product Ownership, Software Development, OAuth, Vi, Architecture, SOAP, Shell Scripting, Web Services, CSV File Processing, Algorithms, Web Development, TinyMCE, AWS, Software Architecture

Education

  • MBA in Business Administration and Management, General
    2005 - 2006
    Fundação Getulio Vargas - Porto Alegre, RS, Brazil
  • Certificate in Web Development
    2002 - 2003
    Universidade Tecnológica Federal do Paraná, Pato Branco - Pato Branco, Brazil

To view more profiles

Join Toptal
Share it with others