Java Developer in Buenos Aires, Argentina
IT Coordinator2016 - PRESENTDespegar.com - Aftersale
Technologies: Java, Scala, Kotlin, Go
- Collaborated with several teams.
- Coordinated different features among teams of different areas.
- Defined application architecture and new features.
- Defined and prioritized tasks with my teams and others.
- Coached leaders and team members.
- Tried new technologies.
- Participated in providers' meetings.
- Coordinated different teams in order to build MVPs.
- Handled the team's backlogs.
- Worked on the redefinition of transactional flows.
Team Leader2013 - 2016Despegar.com - Flights
Technologies: Java, Spring, Hibernate, Cassandra, Guice, Spark, Scala
- Worked on a full Java/Spring application, which is the back-end service that performs the booking of a selected flight. The project is a platform which exposes services with JSON responses. The API is used by different internal and external applications.
- Helped define and develop different features.
- Deployed on different environments, release candidates, staging, and production.
- Ensured the health of the application on production using internal tools and New Relic.
- Provided production support.
- Created a new version of the current application using Java 8, Guice, and Spark. This new application satisfies the Despegar.com API contract.
Tech Leader2012 - 2013Despegar.com - Packages
Technologies: Java, Spring, Hibernate, Scala, Play
- Worked on a full Java/Spring application, which is the back-end service that performs the booking of a selected package. The project is a platform which exposes services with JSON responses. The API is used by different internal and external applications.
- Developed a Maven Archetype to create different checkout modules for different products.
- Created a back-office application to review the different products sold, based on Scala and Play.
- Worked on the definition and development of different features.
- Deployed on a different environment, release candidates, staging, and production.
- Ensured the health of the application on production using internal tools and New Relic.
Java/Grails Architect2011 - 2012TeraCode, Panera Bread - OnlineShopping
Technologies: Java, Grails, Groovy, Hibernate, Spring, Maven, REST
- Worked on a Grails web application. The project is a RESTful server which provides a JSON API that is consumed by different kind of client, such as an iPad application working as a Kiosk on different stores, a web application, and different mobile applications. The application consumes several third-party services to manage customers, loyalty, payments, and kitchen services.
- Developed and certified the integration with FirstData to handle payments through credit cards.
- Helped analyze the client offices and generate documentation for the project kickoff.
- Led the application performance improvements, tuning of SQLs, and changes in the way the application gets its information from the database.
Grails Architect2011 - 2011TeraCode, Perpetual Eye
Technologies: Java, Groovy, Grails, Spring, Hibernate
- Worked on a Grails web application using the standard Grails stack. The project was a violation detection tool for model agencies, which crawled different websites and captured their images. The images were processing with a face recognition service that allows the application to create different violations.
- Helped estimate, research different technologies, analyze, design, model domains, and develop the application using Agile methodologies.
- Created a crawler tool using Groovy and integrated it into the application.
- Created integration with a face recognition service.
- Monitored and controlled the methodologies, processes, and best practices used in the project.
- Provided guidance and advice to the team on technical and functional issues.
Team Leader2009 - 2011TeraCode, Imagitas
Technologies: Java, Spring, Hibernate, Maven, Wicket
- Worked on a Java web application based on a domain-driven design architecture. The application creates ads based on different templates.
- Integrated with the ad serving tool via SOAP.
- Designed the domain model and developed the most critical features.
- Provided guidance and counsel to the team regarding technical issues and project implementation.
- Utilized a continuous integration tool and code review process.
- Wrapped up the project in the client's office where the setup for all the development environments was done.
Team Leader2008 - 2009TeraCode, JumpTap - Monetization
- Created an internal tool to generate reports.
- Negotiated features with the client and business team.
- Prepared statements of work and daily status meetings for the customers.
- Developed a Java web application which is the back-end of a mobile search engine. The application served ads to the searches executed by mobiles.
Java Architect2007 - 2008Assert Solutions
- Developed a proprietary application framework using open source libraries. This framework provides capabilities such as persistence, workflow, UI based in use cases, object transactionality and a distributed cache, messaging, and queues.
- Gave courses for professional training about this framework to a group of developers who used it.
- Served as the referent for the persistence layer, refactoring, and optimizations to reduce query times.
- Created the extension point to support other persistence frameworks.
- Participated in the performance improvements of the whole application to make it productive.
Technical Leader2006 - 2007SoftAgrega S.A.
- Led and coached a group of 10+ developers.
- Served as the client's focal point and took responsibility for the code's quality.
- Involved in the analysis and design processes.
- Delivered functionality.
- Consulted on technical and functional issues for the group.
Java Developer2005 - 2006Synapsys
- Worked a Java web application ([email protected]) into the sales module. The web application was an administrative tool for power engine companies in Latin America.
- Analyzed, designed, and coded new functionality for the project. The application had a rich domain interacting with several modules. It was developed on a proprietary framework.
Java Developer2004 - 2005LatinNet S.A.
- Worked on a Java web application to manage traffic violations for the Buenos Aires government. The application was based in POJOs using Struts and JSP for the presentation layer.
- Handled the persistence layer, which interacted with Oracle and stored procedures, which have most of the business and views.
- Worked on the persistence layer, building a proprietary framework to manage views and PL/SQL to store and retrieve the domain objects.
- Coached the development team and participated in the deployment process.
- Led a team that worked on an e-learning platform for the Instituto Nacional de Educacion Tecnologica (INET), and Prefectura Naval Argentina.
- Panera Bread (Kiosk, Web Ordering, Server) (Development)
I developed the Panera Server system, which involves an API that integrates different client applications, such as Panera Web Ordering and Panera Kiosk, with multiple third-party systems like CustomerHub, FirstData, and Paytronix. I covered multiple functional aspects, including product and stock management, user accounts, security, sales orders, rewards, payment platform, and asynchronous order processing.
Technologies used: Grails, Groovy Server Pages, iBATIS, JUnit, Oracle, Quartz, Spring Batch, Java Mail, JPos, and RabbitMQ.
- Despegar.com – Flights (Development)http://www.despegar.com.ar/vuelos/
I developed the flight booking back-end services which generate the dynamic form to be filled by the client, validate the content, and interact with several internal services to issue the flight online.
Technologies: Java, Groovy, Spring, Hibernate, Jetty, Git, Maven
FrameworksSpring ORM, Spring Boot, Spring IoC, Guice, Spring JDBC, Spring MVC, Google Guice, Hibernate, Spring, TestNG, JUnit, Google Guava, Apache Struts, jBPM, Swagger, Activiti BPM, iBATIS, Spring Security, Grails, Apache Wicket, Apache Spark, Spring Web Flow, AngularJS, GWT, Play Framework
Libraries/APIsWhatsApp API, Spring REST, JDBC, Facebook Messenger API, REST APIs, Guava, Twitter API, Facebook API, Amazon Rekognition, Wit.ai, Telegram Messenger API, jQuery, jQuery UI
ToolsGit, Maven, Eclipse IDE, Jenkins, Hudson, IntelliJ, AWS Rekognition, Jetty, Net Promoter Score (NPS), CVS, GitHub, Apache JMeter, IntelliJ IDEA, Apple Business Chat, json4s, IBM Watson, GitLab, Chrome Developer Tools, Gradle, Subversion (SVN)
ParadigmsMicroservices, REST API Architecture, API Architecture, Web Architecture, Microservices Architecture, Unit Testing, Design Patterns, Object-oriented Programming (OOP), REST, Agile Software Development, AOP, Functional Programming, Kanban, Object-oriented Design (OOD), Test-driven Development (TDD), Functional Reactive Programming, Management, Pair Programming, XP, Scrum
StorageJSON, Oracle PL/SQL, PostgreSQL, AWS S3, Cassandra, MySQL, MongoDB
OtherWhatsApp, High Availability, Spring DAO, Team Management, SOA Architecture, Chatbots, IBM Watson Speech-to-Text, Team Leadership, Team Mentoring, RESTful APIs, Apache Commons, APIs, Facebook, High Availability Disaster Recovery (HADR), Lean Development, Domain-driven Design (DDD), HAProxy, Hessian
PlatformsTwitter, Chatfuel, MacOS, Api.ai, Oracle, Windows, Unix, Linux, JVM
- University degree in System Engineering2001 - 2005Universidad Tecnologica Nacional - Buenos Aires
- Functional Program Design in ScalaJULY 2016 - PRESENTEPFL (École polytechnique fédérale de Lausanne)
- Functional Programming Principles in ScalaJUNE 2016 - PRESENTEPFL (École polytechnique fédérale de Lausanne)
- Liderazgo de Equipos de Trabajo de Alto DesempeñoAPRIL 2014 - PRESENTactivePMO