Ariel Moraes

Sorocaba · São Paulo BR · +55 (15) 998181373 · arielt.moraes@gmail.com

Senior full stack software engineer, worked in several projects going from an Automatic Name Plate Recognition application to High-Value Cargo Transportation logistics. Always seeking better ways to develop applications and integrate teams and services.

Experience

Thunders · Software Engineer and Architect

Energy Market · www.thunders.com.br

Thunders is a Product where you can trade energy in the open market, that is, like a broker it consists of clients buying and selling energy between the parties. Responsible for mantaining the current application version that is written using the .NET Framework and AngularJS. Lead Architect for a new version of the application, using Microservices, CQRS, async messsaging and event sourcing. Helped on the initial CI & CD process using Azure DevOps where the application is deployed to a Kubernetes cluster.

Technologies: C#, AngularJS, Angular 6, .NET Core, EF Core, Rebus, RabbitMQ, MySQL, Azure DevOps, Kubernetes, Helm and Docker

January 2018 - Present

ITGreen · Senior Software Engineer

Equipments and Supplies Managment · ITGreen

Web application for managing the entire company's equipments and supplies. Application Architect.

Technologies: ASP.NET MVC, HTML, CSS, JavaScript, JQuery and Bootstrap

SIP · Protege

High-value Cargo Logistics ERP application responsible for managing everything related to the tranportation logistics, risk managment and more. Worked on requirements gathering/analysis, development and continuous delivery.

Technologies: Delphi XE 7, SQL Server and Google Maps API

SIP Mobile · Protege

Application created to support the employees working on the delivering and gathering of the high-value cargo. As Application architect I was responsible for refactoring the existing application to be in sync with the actual Android guidelines and optimize the network communication between the client and the server.

Technologies: Android, SQLite, Google Maps API, ASP.NET WebApi, SQL Server, Push Notifications and Hangfire

Route Optimization v1 · Protege

First version of a Route Optimization application using genetic algorithms to solve the problems. It can be used along with time-windows, launch time, traffic and more. Application Architect.

Technologies: C#, ASP.NET WebApi, SQL Server and Hangfire

Route Optimization v2 · Owner

A port of the JSprit library written in Java, it can solve more types of problems when compared to the v1, including vehicle size, max amount of items and more.

Technologies: C#, Java

Angular 4 POC · Prefeitura de Goiânia (Goiânia City Hall)

A simple POC was developed for the city hall as part of a public bidding. Application Architect.

Technologies: Angular 4, HTML, CSS, Typescript

Hospital Evaluation · IBES

A full responsive hospital evaluation application was developed using browser offline data and sync. Application Architect.

Technologies: ASP.NET MVC, SQL Server, Entity Framework, HTML, CSS, JavaScript, JQuery and Bootstrap

Intelligent Safe-Deposit Box API · Protege

API for the Protege's clients and associated banks to get info about deposits, withdraws, balance and more on what is called Intelligent Safe-Deposit Box. This type of safe-box can distinct each bill value and update the current balance automatically.

Technologies: ASP.NET WebApi, SQL Server, Entity Framework, Hangfire and Windows Service

July 2015 - January 2018

Stefanini IT Solutions · Software Engineer

Automatic Name Plate Recognition · SPLICE

Part of the development team which was responsible for researching new techonologies to apply into an existing ANPR application. Our job was to enhance the final results using better and newer image processing algorithms.

Technologies: C#, C++, AForge.NET and OpenCV

SIPVIG · Protege

Surveillance ERP application responsible for managing all the employees, payrolls, weaponry, equipments and supplies. Worked on requirements gathering/analysis, development and continuous delivery.

Technologies: Delphi 7 and SQL Server

Client Survey Android · Banco Caixa Econômica Federal (Federal Bank)

Development of an Android application to use at client sites. Several questions may be asked and, for that, a step by step in a wizard-fashion was introduced. The questions are parsed from a document present in the internal memory.

Technologies: Android and SQLite

Interactive Catalog Presentation · Johnson & Johnson

Responsive and interactive catalog application bringing a new product selling format to increase the sales. The application supports videos, image gallery, mini-games and surveys.

Technologies: HTML, CSS and JavaScript

Car Inspection · ICE Cards

iOS App responsible for speeding up the inspection process done by the state and federal offices employees. The application uses the camera, GPS sensor, network and offline sync.

Technologies: Objective-C, SQLite, AirWatch and WCF Services

Establishments review App · INMETRO (Quality Managment Institution)

Android App where users can review establishments and give their feedback regarding several items. YouTube video showing how to use it.

Technologies: Android, SQLite, SQL Server and ASP.NET WebApi

August 2010 - July 2014

Education

New York Institute of Technology

Bachelor
Computer Engineer
August 2014 - July 2015

FACENS - Faculdade de Engenharia de Sorocaba

Bachelor
Computer Engineer
January 2010 - December - 2015

ETEC Fernando Prestes

Technical
The Principle of Computer development
August 2007 - January 2009

Skills

Programming Languages & Tools
Patterns and Designs
  • DDD, TDD, CQRS, Domain Events, SAGA, Event Sourcing, Async Messaging, Resilient Connections
  • Rich Domains, Testability, Dependency Injection & SOLID
  • CI & CD
  • Scrum

Accomplishments

Languages

English

Full professional proficiency

Portuguese

Native or bilingual proficiency

Spanish

Limited working proficiency

Certifications

TOEFL

Year of accomplishment 2014

My Projects

Automatic Car Throttle

Arduino and Android
My car, as many others, doesn't have a set-reset throttle control, so I've decided to do it on my own. I've used an Arduino to control the automation by using a Fuzzy logic whereas the inputs are the actual speed, acceleration and more and the output is the desired throttle position, in other words, it is a simulation of the driver pressing the throttle. All the options are set using an Android phone and passed to the Arduino using bluetooth, it is possible to choose the desired speed, the mode (aggressive or normal) and more.

Interests

I love to study new technologies, when possible I will be reading something even if I only have a small screen. Love to keep up with new patterns and better designs.

Love Netflix, CS:GO, quantum computers, Stephen Hawking and wormholes.