Juan Manuel BerruetaBack End Developer
I am passionate about technology and I am lucky enough to be able to live from what I like. I enjoy the whole process of providing solutions. From thinking about them, arriving at possible alternatives and questioning them, until prototyping, measuring, improving, iterating and maintaining them. And besides finding joy in those deeds, I firmly believe that to produce software that adds value, and is maintainable and thorough, devs should participate in the process from the beginning until the end. That being said, and though I love arriving to neat solutions, I am always willing to make compromises if there's a benefit to it. I've been blessed with the opportunity to work at challenging and changing environments, having to deal with heavy loads (+40k rpms) of non trivial transactions, where being HA is not optional and each team is fully responsible of the apps they own, and where thinking out of the box, or trying something new is allowed, and even encouraged, but not without having in mind that there are different tools for different jobs. And all that while still dealing with requirements that can make you have to throw away what you just did one month ago (or at least reconsider it). That being said, there's no stepping down from it for me. Therefore my aim is to continue working in such settings, where the problems to solve are not trivial and therefore it is necessary to constantly learn new things, and in which in spite of having to be the absolute owner of problems and the apps that solve them, there is a good balance of freedom when it comes to giving solutions.
Tech stack
Java (18)
REST APIs (12)
JUnit (12)
Microservices Architecture (10)
Maven (10)
SQL (9)
Subversion (SVN) (8)
Git (8)
HTML (7)
Bash (7)
Business Process Management (BPM) (7)
Jenkins (7)
XML (6)
JavaScript (6)
jQuery (6)
AJAX (6)
JSON (6)
JavaServer Pages (JSP) (6)
New Relic (5)
Infrastructure monitoring (5)
High Availability (5)
Event Sourcing (5)
AWS DynamoDB (5)
Redis (5)
AWS S3 (5)
PostgreSQL (5)
CQRS (5)
Spring (5)
Agile (5)
JPA (5)
Experience
Expert-level Software EngineerUpwork
07/2019 - Currently

• Developed and maintained all the apps related to freelancers profiles.

Git
Java
CQRS
Event Sourcing
REST APIs
AWS DynamoDB
Redis
Microservices Architecture
AWS S3
PostgreSQL
Tech Lead - Flights Team @ Despegar.com
02/2018 - 07/2019

• Developed and maintained the app in charge of searching, booking and importing flights itineraries from multiple sources.

JIRA
Git
Java
Infrastructure monitoring
Spring Batch
REST APIs
High Availability
New Relic
JUnit
Maven
Cassandra
Apache Tomcat
Groovy
Apache Lucene
SOAP
Microservices Architecture
Jenkins
Spring Boot
JSON
Bash
Scala
Tech Lead - Hotels Team @ Despegar.com
10/2016 - 02/2018

• Developed and maintained the app in charge of coordinating the fulfillment of hotel reservations. This involved fraud detection, collecting the payment, booking the hotel, etc., all by interacting with different APIs. • Designed, developed and maintained the new app in charge of doing the fulfillment of hotel reservations after an architecture refactor.

Git
SQL
Java
Infrastructure monitoring
MySQL/MariaDB
Business Process Management (BPM)
Subversion (SVN)
REST APIs
High Availability
New Relic
JPA
JUnit
Maven
Cassandra
Apache Tomcat
Swagger
Microservices Architecture
Jenkins
Spring
Spring Boot
Hibernate
JSON
Bash
Senior Java Dev - Hotels Team @ Despegar.com
09/2014 - 11/2016

• Developed and maintained the API through which all the hotel reservations aftersale operations where made. • Developed and maintained the backoffice that allowed the firm agents to manage customers' hotel reservations.

JavaScript
SQL
AJAX
Java
jQuery
Infrastructure monitoring
MySQL/MariaDB
Business Process Management (BPM)
Subversion (SVN)
REST APIs
High Availability
Play Framework
New Relic
JUnit
Maven
Swagger
Microservices Architecture
Elasticsearch
JSON
Bash
Senior Java Dev @ The Warranty Group
10/2011 - 08/2014

• Analysis, development and maintenance of a new web application for managing of car warranties, there fares, characteristics and their elegibility. • Analysis, development and maintenance of a web app that allows creating automobile claims and keeps track of the progress of those claims until they ended up having repair orders. • Analysis, development and maintenance of web services that allowed creating extended warranty contracts.

JavaScript
SQL
AJAX
Agile
Java
jQuery
Less
HTML
CSS
Liferay
JavaServer Pages (JSP)
Business Process Management (BPM)
Subversion (SVN)
JBoss
JMeter
Apache CXF
JSF
XML
JPA
JUnit
Maven
Jenkins
Hibernate
Bootstrap
Senior Java Dev @ Travelocity
02/2011 - 11/2011

• Redesign and development of the new Hotels & Packages Travelocity modules. • Development of the Whitelabel Hotels & Packages module and customization for multiple external clients.

JavaScript
Scrum
SQL
AJAX
Java
jQuery
HTML
CSS
Apache Struts 2
JavaServer Pages (JSP)
Subversion (SVN)
XML
Grails
JUnit
Maven
Groovy
Jenkins
Spring
JSON
Java Dev @ Globant
01/2011 - 11/2011

• Analysis and development of an internal application that allowed working on the planning and estimation of the firm's proyects. • Contractor at Travelocity.

Java
Subversion (SVN)
Swing
XML
JUnit
Maven
Spring
Software Engineer @ Network Solutions
04/2009 - 02/2011

• Developed and maintained the backend and the API of a marketing application that enabled customers to manage different marketing aspects of their websites: the generation of ad campaigns along multiple websites and search engines via Pay Per Click, the publication and keeping in sync their information at different online directories in order to aid them in Local Search Visibility, and the analysis of their web pages so as to guide them from a Search Engine Optimization standpoint.

SQL
Agile
Java
HTML
Google AdWords
TestNG
JavaServer Pages (JSP)
JDBC
Service-oriented Architecture (SOA)
REST APIs
JUnit
SOAP
Spring
Spring MVC
Bash
Developer @ iTcon
02/2005 - 08/2006

• Analysis, development and maintenance of an expense report system for Danone Argentina. • Development of new functionalities and maintenance of the existing ones for a CMS at Siembra AFJP. • Analysis and development of new functionalities for an existing CRM at Aktio. • Worked in a data migration process between an old Lotus Notes app and the new Java replacement at OSDE. • Dictated training courses for integrating Java libraries and Lotus

Java
HTML
XSLT
JDBC
XML
Education
Informatics EngineeringUniversidad de Buenos Aires
04/2002 - 01/2011