Thiago Henrique Coraini, Developer in São Paulo - State of São Paulo, Brazil
Thiago is available for hire
Hire Thiago

Thiago Henrique Coraini

Verified Expert  in Engineering

Software Developer

São Paulo - State of São Paulo, Brazil

Toptal member since February 2, 2021

Bio

Thiago is a software engineer with over a decade of industry experience ranging from early-stage startups to global tech companies like Amazon. He excels at building optimization algorithms, highly scalable distributed services, and customer-facing web applications. Thanks to a master’s degree in computer science, robust analytical skills, and an eye for detail, Thiago consistently delivers exemplary products to his customers.

Portfolio

Loft Brasil Tecnologia Ltda
JavaScript, TypeScript, Kubernetes, Docker, MySQL, PostgreSQL, NestJS, TypeORM...
Amazon.com
Java, Amazon DynamoDB, Amazon Simple Queue Service (SQS)...
Playax
Ruby on Rails (RoR), Scala, Test-driven Development (TDD)

Experience

  • Object-oriented Programming (OOP) - 10 years
  • Java - 8 years
  • Testing - 5 years
  • REST - 4 years
  • Distributed Computing - 4 years
  • Amazon Simple Queue Service (SQS) - 3 years
  • TypeScript - 1 year
  • Node.js - 1 year

Availability

Part-time

Preferred Environment

Java, Node.js, TypeScript, Amazon DynamoDB, Amazon Simple Queue Service (SQS), Amazon Simple Notification Service (SNS), MySQL, PostgreSQL, REST

The most amazing...

...system I've built was an event-based service that made it easier for vendors to sell their products globally in one of the largest online global retailers.

Work Experience

Software Engineer

2020 - PRESENT
Loft Brasil Tecnologia Ltda
  • Developed an entire logged-in section in the website focused on property owners who are selling on our platform.
  • Implemented the back-end APIs for several widgets in the website, providing our customers with insightful graphs and reports and also management capabilities of their data.
  • Participated in the hiring process by interviewing candidates.
Technologies: JavaScript, TypeScript, Kubernetes, Docker, MySQL, PostgreSQL, NestJS, TypeORM, SQL, Git, Testing, Bitbucket

Software Development Engineer

2016 - 2020
Amazon.com
  • Designed, developed, and maintained a few services responsible for making Amazon's selection global and helping vendors seamlessly sell their products in different countries.
  • Implemented highly scalable message-passing services that could process, at its peak, thousands of messages per second, using AWS services like SQS/SNS and DynamoDB.
  • Coordinated team improvement efforts in our engineering excellence practices, like improving our metrics, dashboards, alarms, and our CI/CD pipelines to ensure we were always aware of the health of our systems.
  • Participated in the hiring processes by doing phone screens and onsite interviews and also helping design new questions.
  • Reviewed architecture designs from other team members, helping them find potential performance bottlenecks, security issues, or otherwise just suggesting possible improvements and alternative approaches to the software being built.
Technologies: Java, Amazon DynamoDB, Amazon Simple Queue Service (SQS), Amazon Simple Notification Service (SNS), Amazon Web Services (AWS), Git, Testing

Software Engineer

2015 - 2016
Playax
  • Helped implement and quickly deliver new features to our web application using Ruby on Rails.
  • Built integrations with music service providers (e.g., YouTube, Deezer) to show reports to our clients about their plays, earnings, and so on.
  • Integrated with governmental agencies systems to identify and collect copyright values on behalf of our clients.
Technologies: Ruby on Rails (RoR), Scala, Test-driven Development (TDD)

Software Engineer

2011 - 2015
Neolog
  • Helped design and implement changes in our optimization algorithms, like routing optimization (the best route for a group of deliveries) and container loading (the best way to load products in a container).
  • Implemented the back-end logic for different parts of the system using the Spring framework, Hibernate to connect to both Oracle and SQL Server databases, and Spring Remote to communicate with the front end.
  • Used extensively Java profiling tools to find bottlenecks and improve the performance of optimization algorithms that had strict runtime constraints.
Technologies: Java, Optimization Algorithms, Algorithms, Hibernate, Oracle, Spring, SQL, Design Patterns

Experience

Distributed Actor Migration in Scala

https://github.com/tcoraini/akka-mobile-actors
This project was done while I was working on my master thesis. It was a fork from the Akka project; a Scala framework heavily focused on the Actors model. As part of my work, I added two capabilities to the existing framework: actor automatic distribution and migration.

The idea was to make developing distributed applications easier and seamless (with automatic distribution) and more fault-tolerant (with actor migration).

The complete thesis, in Portuguese, can be found at the link below: • https://teses.usp.br/teses/disponiveis/45/45134/tde-18032012-134507/publico/DissertacaoThiagoCoraini.pdf

Container-loading Algorithm for Specific Customized Patterns

While working on a system that would calculate and display an optimized way to load products in a container (e.g., a truck), we faced difficulty meeting customers' requirements who had particular loading patterns for some of their goods.

I was the proposer (and for some time the main implementer) of several changes in our current algorithms (which were based, mostly on academic research) that would satisfy the customer loading patterns while also attending to all the other system requirements like optimizing the load and meeting hard restrictions (e.g., max stacking weight).

API for Exposing ML-based Real Estate Insights

Working together with the data science team in our squad, I was in charge of delivering the API that would expose, to other services in our company, machine learning models and insights for our real estate customers. Those included, for example, information about pricing ranges and comparisons with similar properties.

I was the main person responsible for rolling out the microservice that would deliver that information through RESTful APIs. At the same time, I coordinated with the DS team to make the data handover reliably flow from the models to our web application.

Education

2009 - 2011

Master's Degree in Computer Science

University of São Paulo - São Paulo, Brazil

2005 - 2008

Bachelor's Degree in Computer Science

University of São Paulo - São Paulo, Brazil

Skills

Libraries/APIs

Node.js

Tools

Amazon Simple Queue Service (SQS), Amazon Simple Notification Service (SNS), Git, Bitbucket

Languages

Java, SQL, TypeScript, Scala, JavaScript

Paradigms

Object-oriented Programming (OOP), REST, Distributed Computing, Testing, Design Patterns, Functional Programming, Actor Model, Test-driven Development (TDD)

Frameworks

Hibernate, Spring, Ruby on Rails (RoR), NestJS, Akka

Storage

Amazon DynamoDB, MySQL, PostgreSQL

Platforms

Oracle, Kubernetes, Docker, Amazon Web Services (AWS)

Other

Algorithms, Data Structures, Optimization Algorithms, TypeORM, Optimization, APIs

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